detail/end.hpp
Go to the documentation of this file.
1 // Boost.Range library
2 //
3 // Copyright Thorsten Ottosen 2003-2004. Use, modification and
4 // distribution is subject to the Boost Software License, Version
5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8 // For more information, see http://www.boost.org/libs/range/
9 //
10 
11 #ifndef BOOST_RANGE_DETAIL_END_HPP
12 #define BOOST_RANGE_DETAIL_END_HPP
13 
14 #include <boost/config.hpp> // BOOST_MSVC
16 
18 #include <boost/range/iterator.hpp>
20 
21 namespace boost
22 {
23  namespace range_detail
24  {
25  template< typename T >
26  struct range_end;
27 
29  // default
31 
32  template<>
34  {
35  template< typename C >
37  fun( C& c )
38  {
39  return c.end();
40  };
41  };
42 
44  // pair
46 
47  template<>
49  {
50  template< typename P >
52  fun( const P& p )
53  {
54  return p.second;
55  }
56  };
57 
59  // array
61 
62  template<>
63  struct range_end<array_>
64  {
65  template<typename T>
67  {
68  return t + remove_extent<T>::size;
69  }
70  };
71 
72  } // namespace 'range_detail'
73 
74  namespace range_adl_barrier
75  {
76  template< typename C >
77  inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
78  end( C& c )
79  {
81  }
82  } // namespace range_adl_barrier
83 
84 } // namespace 'boost'
85 
86 #endif
boost::range_detail::array_
mpl::int_< 4 >::type array_
Definition: common.hpp:51
T
T
Definition: mem_fn_cc.hpp:25
config.hpp
common.hpp
boost::range_detail::range_end< std_container_ >::fun
static BOOST_RANGE_DEDUCED_TYPENAME range_iterator< C >::type fun(C &c)
Definition: detail/end.hpp:37
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::range_iterator
Definition: range/iterator.hpp:61
boost::range_detail::std_pair_
mpl::int_< 2 >::type std_pair_
Definition: common.hpp:49
BOOST_RANGE_DEDUCED_TYPENAME
#define BOOST_RANGE_DEDUCED_TYPENAME
Definition: range/config.hpp:29
boost::remove_extent
Definition: remove_extent.hpp:18
iterator.hpp
boost::range_detail::range_end< array_ >::fun
static BOOST_RANGE_DEDUCED_TYPENAME remove_extent< T >::type * fun(T &t)
Definition: detail/end.hpp:66
boost::range_detail::std_container_
mpl::int_< 1 >::type std_container_
Definition: common.hpp:48
boost::range_adl_barrier::end
BOOST_RANGE_DEDUCED_TYPENAME range_iterator< C >::type end(C &c)
Definition: detail/end.hpp:78
boost::remove_extent::type
T type
Definition: remove_extent.hpp:18
implementation_help.hpp
boost::range_detail::range_end< std_pair_ >::fun
static BOOST_RANGE_DEDUCED_TYPENAME range_iterator< P >::type fun(const P &p)
Definition: detail/end.hpp:52
workaround.hpp
boost::range_detail::range_end
Definition: detail/end.hpp:26


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:38:54