Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
third-party
realsense-file
boost
boost
type_traits
remove_pointer.hpp
Go to the documentation of this file.
1
2
// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
3
// Use, modification and distribution are subject to the Boost Software License,
4
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5
// http://www.boost.org/LICENSE_1_0.txt).
6
//
7
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
8
9
#ifndef BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
10
#define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
11
12
#include <
boost/config.hpp
>
13
14
#if defined(BOOST_MSVC)
15
#include <
boost/type_traits/remove_cv.hpp
>
16
#include <
boost/type_traits/is_pointer.hpp
>
17
#endif
18
19
namespace
boost
{
20
21
#if BOOST_WORKAROUND(BOOST_MSVC, < 1900)
22
23
namespace
detail
{
24
25
//
26
// We need all this crazy indirection because a type such as:
27
//
28
// T (*const)(U)
29
//
30
// Does not bind to a <T*> or <T*const> partial specialization with VC10 and earlier
31
//
32
template
<
class
T>
33
struct
remove_pointer_imp
34
{
35
typedef
T
type
;
36
};
37
38
template
<
class
T>
39
struct
remove_pointer_imp<
T
*>
40
{
41
typedef
T
type
;
42
};
43
44
template
<
class
T,
bool
b>
45
struct
remove_pointer_imp3
46
{
47
typedef
typename
remove_pointer_imp<typename boost::remove_cv<T>::type
>
::type
type
;
48
};
49
50
template
<
class
T>
51
struct
remove_pointer_imp3<
T
, false>
52
{
53
typedef
T
type
;
54
};
55
56
template
<
class
T>
57
struct
remove_pointer_imp2
58
{
59
typedef
typename
remove_pointer_imp3<T, ::boost::is_pointer<T>::value
>
::type
type
;
60
};
61
}
62
63
template
<
class
T>
struct
remove_pointer{
typedef
typename
boost::detail::remove_pointer_imp2<T>::type
type
; };
64
65
#else
66
67
template
<
class
T>
struct
remove_pointer
{
typedef
T
type
; };
68
template
<
class
T>
struct
remove_pointer
<
T
*>{
typedef
T
type
; };
69
template
<
class
T>
struct
remove_pointer
<
T
*
const
>{
typedef
T
type
; };
70
template
<
class
T>
struct
remove_pointer
<
T
*
volatile
>{
typedef
T
type
; };
71
template
<
class
T>
struct
remove_pointer
<
T
*
const
volatile
>{
typedef
T
type
; };
72
73
#endif
74
75
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
76
77
template
<
class
T>
using
remove_pointer_t
=
typename
remove_pointer<T>::type
;
78
79
#endif
80
81
}
// namespace boost
82
83
#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
boost::remove_pointer< T * >::type
T type
Definition:
remove_pointer.hpp:68
boost::remove_pointer< T *const volatile >::type
T type
Definition:
remove_pointer.hpp:71
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
Definition:
core/addressof.hpp:19
value
GLfloat value
Definition:
glad/glad/glad.h:2100
config.hpp
t265_stereo.T
T
Definition:
t265_stereo.py:157
boost::remove_pointer::type
T type
Definition:
remove_pointer.hpp:67
boost::remove_pointer< T *volatile >::type
T type
Definition:
remove_pointer.hpp:70
el::base::consts::detail
const char * detail
Definition:
easylogging++.h:774
boost::remove_pointer< T *const >::type
T type
Definition:
remove_pointer.hpp:69
type
GLenum type
Definition:
glad/glad/glad.h:136
remove_cv.hpp
boost::remove_pointer_t
typename remove_pointer< T >::type remove_pointer_t
Definition:
remove_pointer.hpp:77
boost::remove_pointer
Definition:
remove_pointer.hpp:67
is_pointer.hpp
librealsense2
Author(s): Sergey Dorodnicov
, Doron Hirshberg
, Mark Horn
, Reagan Lopez
, Itay Carpis
autogenerated on Mon May 3 2021 02:47:39