11 #ifndef BOOST_RANGE_END_HPP
12 #define BOOST_RANGE_END_HPP
20 #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
31 #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
32 namespace range_detail
39 template<
typename C >
55 template<
typename Iterator >
56 inline Iterator
range_end(
const std::pair<Iterator,Iterator>& p )
61 template<
typename Iterator >
62 inline Iterator
range_end( std::pair<Iterator,Iterator>& p )
71 template<
typename T, std::
size_t sz >
74 return range_detail::array_end<T,sz>( a );
77 template<
typename T, std::
size_t sz >
80 return range_detail::array_end<T,sz>( a );
83 #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
87 namespace range_adl_barrier
93 #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
94 using namespace range_detail;
102 #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
103 using namespace range_detail;
111 #endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
115 namespace range_adl_barrier
124 using namespace range_adl_barrier;