Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
third-party
realsense-file
boost
boost
type_traits
has_nothrow_destructor.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_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
10
#define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
11
12
#include <
boost/type_traits/has_trivial_destructor.hpp
>
13
14
#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(__SUNPRO_CC) && !(defined(BOOST_MSVC) && (_MSC_FULL_VER < 190023506))
15
16
#include <
boost/type_traits/declval.hpp
>
17
#include <
boost/type_traits/is_destructible.hpp
>
18
19
namespace
boost
{
20
21
namespace
detail
{
22
23
template
<
class
T,
bool
b>
24
struct
has_nothrow_destructor_imp
:
public
boost::integral_constant
<bool, false>{};
25
template
<
class
T>
26
struct
has_nothrow_destructor_imp
<
T
, true> :
public
boost::integral_constant
<bool, noexcept(boost::declval<T*&>()->~T())>{};
27
28
}
29
30
template
<
class
T>
struct
has_nothrow_destructor
:
public
detail::has_nothrow_destructor_imp
<T, boost::is_destructible<T>::value>{};
31
template
<
class
T, std::
size_t
N>
struct
has_nothrow_destructor
<
T
[N]> :
public
has_nothrow_destructor
<T>{};
32
template
<
class
T>
struct
has_nothrow_destructor
<T&> :
public
integral_constant<bool, false>
{};
33
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
34
template
<
class
T>
struct
has_nothrow_destructor
<T&&> :
public
integral_constant<bool, false>
{};
35
#endif
36
}
37
#else
38
39
namespace
boost
{
40
41
template
<
class
T>
struct
has_nothrow_destructor
:
public
::boost::has_trivial_destructor
<T> {};
42
43
}
// namespace boost
44
45
#endif
46
47
#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
boost
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
Definition:
core/addressof.hpp:19
boost::detail::has_nothrow_destructor_imp
Definition:
has_nothrow_destructor.hpp:24
boost::has_trivial_destructor
Definition:
has_trivial_destructor.hpp:36
is_destructible.hpp
t265_stereo.T
T
Definition:
t265_stereo.py:157
declval.hpp
el::base::consts::detail
const char * detail
Definition:
easylogging++.h:774
boost::has_nothrow_destructor
Definition:
has_nothrow_destructor.hpp:30
has_trivial_destructor.hpp
boost::integral_constant
Definition:
integral_constant.hpp:52
librealsense2
Author(s): Sergey Dorodnicov
, Doron Hirshberg
, Mark Horn
, Reagan Lopez
, Itay Carpis
autogenerated on Mon May 3 2021 02:47:16