Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
third-party
realsense-file
boost
boost
iterator
detail
iterator/detail/enable_if.hpp
Go to the documentation of this file.
1
// (C) Copyright David Abrahams 2002.
2
// (C) Copyright Jeremy Siek 2002.
3
// (C) Copyright Thomas Witt 2002.
4
// Distributed under the Boost Software License, Version 1.0. (See
5
// accompanying file LICENSE_1_0.txt or copy at
6
// http://www.boost.org/LICENSE_1_0.txt)
7
#ifndef BOOST_ENABLE_IF_23022003THW_HPP
8
#define BOOST_ENABLE_IF_23022003THW_HPP
9
10
#include <
boost/detail/workaround.hpp
>
11
#include <
boost/mpl/identity.hpp
>
12
13
#include <
boost/iterator/detail/config_def.hpp
>
14
15
//
16
// Boost iterators uses its own enable_if cause we need
17
// special semantics for deficient compilers.
18
// 23/02/03 thw
19
//
20
21
namespace
boost
22
{
23
24
namespace
iterators
25
{
26
//
27
// Base machinery for all kinds of enable if
28
//
29
template
<
bool
>
30
struct
enabled
31
{
32
template
<
typename
T>
33
struct
base
34
{
35
typedef
T
type
;
36
};
37
};
38
39
//
40
// For compilers that don't support "Substitution Failure Is Not An Error"
41
// enable_if falls back to always enabled. See comments
42
// on operator implementation for consequences.
43
//
44
template
<>
45
struct
enabled
<false>
46
{
47
template
<
typename
T>
48
struct
base
49
{
50
#ifdef BOOST_NO_SFINAE
51
52
typedef
T
type
;
53
54
// This way to do it would give a nice error message containing
55
// invalid overload, but has the big disadvantage that
56
// there is no reference to user code in the error message.
57
//
58
// struct invalid_overload;
59
// typedef invalid_overload type;
60
//
61
#endif
62
};
63
};
64
65
66
template
<
class
Cond,
67
class
Return>
68
struct
enable_if
69
# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE)
70
:
enabled
<(Cond::
value
)>::template base<Return>
71
# else
72
:
mpl
::identity<Return>
73
# endif
74
{
75
};
76
77
}
// namespace iterators
78
79
}
// namespace boost
80
81
#include <
boost/iterator/detail/config_undef.hpp
>
82
83
#endif // BOOST_ENABLE_IF_23022003THW_HPP
identity.hpp
config_def.hpp
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
Definition:
core/addressof.hpp:19
value
GLfloat value
Definition:
glad/glad/glad.h:2100
boost::iterators::enabled::base
Definition:
iterator/detail/enable_if.hpp:33
boost::mpl
Definition:
always.hpp:21
boost::iterators::enabled::base::type
T type
Definition:
iterator/detail/enable_if.hpp:35
workaround.hpp
t265_stereo.T
T
Definition:
t265_stereo.py:157
config_undef.hpp
boost::iterators::enable_if
Definition:
iterator/detail/enable_if.hpp:68
boost::iterators::enabled
Definition:
iterator/detail/enable_if.hpp:30
librealsense2
Author(s): Sergey Dorodnicov
, Doron Hirshberg
, Mark Horn
, Reagan Lopez
, Itay Carpis
autogenerated on Mon May 3 2021 02:47:14