push_front_impl.hpp
Go to the documentation of this file.
1 
2 #ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
3 #define BOOST_MPL_AUX_PUSH_FRONT_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_front_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_front' implementation below
32 
33 template< typename Tag >
35 {
36  template< typename Sequence, typename T > struct apply
37  {
38  // should be instantiated only in the context of 'has_push_front_impl';
39  // if you've got an assert here, you are requesting a 'push_front'
40  // specialization that doesn't exist.
43  , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
44  , ( Sequence )
45  );
46  };
47 };
48 
49 template< typename Tag >
51 {
52  template< typename Seq > struct apply
53 #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
54  : aux::has_type< push_front< Seq, has_push_front_arg > >
55  {
56 #else
57  {
58  typedef aux::has_type< push_front< Seq, has_push_front_arg > > type;
59  BOOST_STATIC_CONSTANT(bool, value =
60  (aux::has_type< push_front< Seq, has_push_front_arg > >::value)
61  );
62 #endif
63  };
64 };
65 
68 
69 }}
70 
71 #endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
BOOST_STATIC_CONSTANT
#define BOOST_STATIC_CONSTANT(type, assignment)
Definition: suffix.hpp:394
push_front_fwd.hpp
boost::mpl::has_push_front_impl
Definition: push_front_impl.hpp:50
boost::type
Definition: type.hpp:14
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::push_front
Definition: push_front.hpp:29
has_type.hpp
boost::is_same
Definition: type_traits/is_same.hpp:29
boost::mpl::push_front_impl::apply::BOOST_MPL_ASSERT_MSG
BOOST_MPL_ASSERT_MSG((boost::is_same< T, has_push_front_arg >::value), REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST,(Sequence))
assert.hpp
boost::mpl::has_push_front_arg
Definition: push_front_impl.hpp:28
is_same.hpp
forwarding.hpp
boost::mpl::has_push_front_impl::apply
Definition: push_front_impl.hpp:52
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC
#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait)
Definition: traits_lambda_spec.hpp:58
static_constant.hpp
boost::mpl::push_front_impl
Definition: push_front_impl.hpp:34
traits_lambda_spec.hpp
boost::mpl::push_front_impl::apply
Definition: push_front_impl.hpp:36


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