Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
i
k
n
p
r
s
t
v
Typedefs
a
b
c
f
h
i
m
n
p
s
t
u
w
y
Enumerations
Enumerator
a
b
c
e
f
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
Enumerator
a
b
c
e
g
i
k
l
m
n
o
p
r
s
u
v
Related Functions
a
b
c
d
e
i
l
m
o
r
s
u
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
g
m
o
p
r
s
t
Variables
_
a
b
f
g
l
t
u
Typedefs
Enumerations
Enumerator
Macros
_
a
b
c
e
f
g
i
l
m
r
s
u
v
w
x
sick_visionary_cpp_shared
3pp
boost
mpl
aux_
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
17
#include <
boost/mpl/push_front_fwd.hpp
>
18
#include <
boost/mpl/assert.hpp
>
19
#include <
boost/mpl/aux_/has_type.hpp
>
20
#include <
boost/mpl/aux_/traits_lambda_spec.hpp
>
21
#include <
boost/mpl/aux_/config/forwarding.hpp
>
22
#include <
boost/mpl/aux_/config/static_constant.hpp
>
23
24
#include <
boost/type_traits/is_same.hpp
>
25
26
namespace
boost
{
namespace
mpl {
27
28
struct
has_push_front_arg
{};
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 >
34
struct
push_front_impl
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.
41
BOOST_MPL_ASSERT_MSG
(
42
(
boost::is_same< T, has_push_front_arg >::value
)
43
, REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
44
, ( Sequence )
45
);
46
};
47
};
48
49
template
<
typename
Tag >
50
struct
has_push_front_impl
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
66
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC
(2,
push_front_impl
)
67
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC
(1,
has_push_front_impl
)
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