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