aux_/insert_impl.hpp
Go to the documentation of this file.
1 
2 #ifndef BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
3 #define BOOST_MPL_INSERT_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: insert_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 
19 #include <boost/mpl/clear.hpp>
20 #include <boost/mpl/push_front.hpp>
24 
25 namespace boost { namespace mpl {
26 
27 // default implementation; conrete sequences might override it by
28 // specializing either the 'insert_impl' or the primary 'insert' template
29 
30 template< typename Tag >
32 {
33  template<
34  typename Sequence
35  , typename Pos
36  , typename T
37  >
38  struct apply
39  {
40  typedef iterator_range<
41  typename begin<Sequence>::type
42  , Pos
44 
45  typedef iterator_range<
46  Pos
47  , typename end<Sequence>::type
49 
50  typedef typename reverse_fold<
52  , typename clear<Sequence>::type
55 
56  typedef typename reverse_fold<
61  };
62 };
63 
65 
66 }}
67 
68 #endif // BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
boost::mpl::iterator_range
Definition: iterator_range.hpp:28
boost::mpl::insert_impl::apply
Definition: aux_/insert_impl.hpp:38
iterator_range.hpp
T
T
Definition: mem_fn_cc.hpp:25
boost::mpl::insert_impl::apply::first_half_
iterator_range< typename begin< Sequence >::type, Pos > first_half_
Definition: aux_/insert_impl.hpp:43
boost::mpl::begin::type
begin_impl< tag_ >::template apply< Sequence >::type type
Definition: begin_end.hpp:35
na_spec.hpp
boost::mpl::insert_impl
Definition: aux_/insert_impl.hpp:31
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::mpl::end::type
end_impl< tag_ >::template apply< Sequence >::type type
Definition: begin_end.hpp:47
boost::mpl::push_front
Definition: push_front.hpp:29
push_front.hpp
boost::mpl::insert_impl::apply::half_sequence_
reverse_fold< second_half_, typename clear< Sequence >::type, push_front< _, _ > >::type half_sequence_
Definition: aux_/insert_impl.hpp:54
is_same.hpp
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC
#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait)
Definition: traits_lambda_spec.hpp:58
boost::mpl::insert_impl::apply::second_half_
iterator_range< Pos, typename end< Sequence >::type > second_half_
Definition: aux_/insert_impl.hpp:48
reverse_fold.hpp
boost::mpl::insert_impl::apply::type
reverse_fold< first_half_, typename push_front< half_sequence_, T >::type, push_front< _, _ > >::type type
Definition: aux_/insert_impl.hpp:60
clear.hpp
traits_lambda_spec.hpp
boost::mpl::clear
Definition: clear.hpp:28
boost::mpl::reverse_fold
Definition: reverse_fold.hpp:32


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