sick_visionary_cpp_shared
3pp
boost
mpl
aux_
traits_lambda_spec.hpp
Go to the documentation of this file.
1
2
#ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
3
#define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_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: traits_lambda_spec.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/sequence_tag_fwd.hpp
>
18
#include <
boost/mpl/void.hpp
>
19
#include <
boost/mpl/aux_/preprocessor/params.hpp
>
20
#include <
boost/mpl/aux_/config/lambda.hpp
>
21
22
#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
23
24
# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait)
25
26
#elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
27
28
# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
29
template<> struct trait<void_> \
30
{ \
31
template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
32
{ \
33
}; \
34
}; \
35
36
37
#else
38
39
# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
40
template<> struct trait<void_> \
41
{ \
42
template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
43
{ \
44
}; \
45
}; \
46
template<> struct trait<int> \
47
{ \
48
template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
49
{ \
50
typedef int type; \
51
}; \
52
}; \
53
54
55
#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
56
57
58
#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \
59
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
60
template<> struct trait<non_sequence_tag> {}; \
61
62
63
#endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
lambda.hpp
sequence_tag_fwd.hpp
params.hpp
void.hpp
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:43