aux_/size_impl.hpp
Go to the documentation of this file.
1 
2 #ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
3 #define BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
4 
5 // Copyright Aleksey Gurtovoy 2000-2004
6 //
7 // Distributed under the Boost Software License, Version 1.0.
8 // (See accompanying file LICENSE_1_0.txt or copy at
9 // http://www.boost.org/LICENSE_1_0.txt)
10 //
11 // See http://www.boost.org/libs/mpl for documentation.
12 
13 // $Id: size_impl.hpp 13472 2017-08-22 07:53:44Z richean $
14 // $Date: 2017-08-22 09:53:44 +0200 (Di, 22 Aug 2017) $
15 // $Revision: 13472 $
16 
17 #include <boost/mpl/size_fwd.hpp>
18 #include <boost/mpl/begin_end.hpp>
19 #include <boost/mpl/distance.hpp>
22 
23 namespace boost { namespace mpl {
24 
25 // default implementation; conrete sequences might override it by
26 // specializing either the 'size_impl' or the primary 'size' template
27 
28 template< typename Tag >
29 struct size_impl
30 {
31  template< typename Sequence > struct apply
32 #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561))
33  : distance<
34  typename begin<Sequence>::type
35  , typename end<Sequence>::type
36  >
37  {
38 #else
39  {
40  typedef typename distance<
41  typename begin<Sequence>::type
42  , typename end<Sequence>::type
43  >::type type;
44 #endif
45  };
46 };
47 
49 
50 }}
51 
52 #endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
BOOST_WORKAROUND
#define BOOST_WORKAROUND(symbol, test)
Definition: detail/workaround.hpp:233
boost::mpl::begin::type
begin_impl< tag_ >::template apply< Sequence >::type type
Definition: begin_end.hpp:35
boost::type
Definition: type.hpp:14
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::end::type
end_impl< tag_ >::template apply< Sequence >::type type
Definition: begin_end.hpp:47
workaround.hpp
distance.hpp
boost::mpl::size_impl
Definition: aux_/size_impl.hpp:29
boost::mpl::size_impl::apply
Definition: aux_/size_impl.hpp:31
begin_end.hpp
BOOST_TESTED_AT
#define BOOST_TESTED_AT(value)
Definition: detail/workaround.hpp:258
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC
#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait)
Definition: traits_lambda_spec.hpp:58
boost::mpl::distance
Definition: distance.hpp:67
size_fwd.hpp
traits_lambda_spec.hpp


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