sick_visionary_cpp_shared
3pp
boost
mpl
aux_
msvc_eti_base.hpp
Go to the documentation of this file.
1
2
#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
3
#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
4
5
// Copyright Aleksey Gurtovoy 2001-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: msvc_eti_base.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/aux_/is_msvc_eti_arg.hpp
>
18
#include <
boost/mpl/aux_/config/eti.hpp
>
19
#include <
boost/mpl/aux_/config/gcc.hpp
>
20
#include <
boost/mpl/aux_/config/workaround.hpp
>
21
22
namespace
boost
{
namespace
mpl {
namespace
aux {
23
24
#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
25
26
template
<
bool
>
struct
msvc_eti_base_impl
27
{
28
template
<
typename
T >
struct
result_
29
:
T
30
{
31
typedef
T
type;
32
};
33
};
34
35
template
<>
struct
msvc_eti_base_impl<true>
36
{
37
template
<
typename
T >
struct
result_
38
{
39
typedef
result_ type;
40
typedef
result_ first;
41
typedef
result_ second;
42
typedef
result_
tag
;
43
enum
{ value = 0 };
44
};
45
};
46
47
template
<
typename
T >
struct
msvc_eti_base
48
: msvc_eti_base_impl< is_msvc_eti_arg<T>::value >
49
::template result_<T>
50
{
51
};
52
53
#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG
54
55
template
<
typename
T >
struct
msvc_eti_base
56
:
T
57
{
58
#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
59
msvc_eti_base
();
60
#endif
61
typedef
T
type
;
62
};
63
64
#endif
65
66
template
<>
struct
msvc_eti_base
<int>
67
{
68
typedef
msvc_eti_base
type
;
69
typedef
msvc_eti_base
first
;
70
typedef
msvc_eti_base
second
;
71
typedef
msvc_eti_base
tag
;
72
enum
{ value = 0 };
73
};
74
75
}}}
76
77
#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
T
T
Definition:
mem_fn_cc.hpp:25
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
workaround.hpp
boost::mpl::aux::msvc_eti_base< int >::first
msvc_eti_base first
Definition:
msvc_eti_base.hpp:69
eti.hpp
boost::foreach::tag
boost_foreach_argument_dependent_lookup_hack tag
Definition:
foreach_fwd.hpp:31
is_msvc_eti_arg.hpp
gcc.hpp
boost::mpl::aux::msvc_eti_base< int >::second
msvc_eti_base second
Definition:
msvc_eti_base.hpp:70
boost::mpl::aux::msvc_eti_base< int >::tag
msvc_eti_base tag
Definition:
msvc_eti_base.hpp:71
boost::mpl::aux::msvc_eti_base
Definition:
msvc_eti_base.hpp:55
boost::mpl::aux::msvc_eti_base< int >::type
msvc_eti_base type
Definition:
msvc_eti_base.hpp:68
boost::mpl::aux::msvc_eti_base::type
T type
Definition:
msvc_eti_base.hpp:61
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:44:22