#ifndef SPROUT_FIXED_CONTAINER_END_HPP #define SPROUT_FIXED_CONTAINER_END_HPP #include #include #include namespace sprout { // // end // template typename sprout::fixed_container_traits::iterator end(Range& range) { return range.end(); } template typename sprout::fixed_container_traits::iterator end(T (& arr)[N]) { return arr + N; } // // end // template SPROUT_CONSTEXPR typename sprout::fixed_container_traits::const_iterator end(Range const& range) { return range.end(); } template SPROUT_CONSTEXPR typename sprout::fixed_container_traits::const_iterator end(T const (& arr)[N]) { return arr + N; } // // cend // template SPROUT_CONSTEXPR typename sprout::fixed_container_traits::const_iterator cend(Range const& range) { return range.end(); } template SPROUT_CONSTEXPR typename sprout::fixed_container_traits::const_iterator cend(T const (& arr)[N]) { return arr + N; } } // namespace sprout #endif // #ifndef SPROUT_FIXED_CONTAINER_END_HPP