push_back_impl.hpp
Go to the documentation of this file.
1 
2 #ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
3 #define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
4 
5 // Copyright Aleksey Gurtovoy 2000-2008
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: push_back_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 
18 #include <boost/mpl/assert.hpp>
23 
25 
26 namespace boost { namespace mpl {
27 
29 
30 // agurt 05/feb/04: no default implementation; the stub definition is needed
31 // to enable the default 'has_push_back' implementation below
32 template< typename Tag >
34 {
35  template< typename Sequence, typename T > struct apply
36  {
37  // should be instantiated only in the context of 'has_push_back_impl';
38  // if you've got an assert here, you are requesting a 'push_back'
39  // specialization that doesn't exist.
42  , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
43  , ( Sequence )
44  );
45  };
46 };
47 
48 template< typename Tag >
50 {
51  template< typename Seq > struct apply
52 #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
53  : aux::has_type< push_back< Seq, has_push_back_arg > >
54  {
55 #else
56  {
57  typedef aux::has_type< push_back< Seq, has_push_back_arg > > type;
58  BOOST_STATIC_CONSTANT(bool, value =
59  (aux::has_type< push_back< Seq, has_push_back_arg > >::value)
60  );
61 #endif
62  };
63 };
64 
67 
68 }}
69 
70 #endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
boost::mpl::has_push_back_impl::apply
Definition: push_back_impl.hpp:51
boost::type
Definition: type.hpp:14
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
has_type.hpp
boost::is_same
Definition: type_traits/is_same.hpp:29
assert.hpp
boost::mpl::has_push_back_arg
Definition: push_back_impl.hpp:28
is_same.hpp
boost::mpl::has_push_back_impl
Definition: push_back_impl.hpp:49
forwarding.hpp
push_back_fwd.hpp
boost::mpl::push_back
Definition: push_back.hpp:29
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC
#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait)
Definition: traits_lambda_spec.hpp:58
boost::mpl::push_back_impl::apply
Definition: push_back_impl.hpp:35
static_constant.hpp
traits_lambda_spec.hpp
boost::mpl::push_back_impl
Definition: push_back_impl.hpp:33
boost::mpl::push_back_impl::apply::BOOST_MPL_ASSERT_MSG
BOOST_MPL_ASSERT_MSG((boost::is_same< T, has_push_back_arg >::value), REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST,(Sequence))


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