equal
deleted
inserted
replaced
|
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_CONSTRUCTOR_HPP_INCLUDED |
|
10 #define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED |
|
11 |
|
12 #include <boost/type_traits/has_trivial_constructor.hpp> |
|
13 |
|
14 // should be the last #include |
|
15 #include <boost/type_traits/detail/bool_trait_def.hpp> |
|
16 |
|
17 namespace boost { |
|
18 |
|
19 namespace detail{ |
|
20 |
|
21 template <class T> |
|
22 struct has_nothrow_constructor_imp{ |
|
23 BOOST_STATIC_CONSTANT(bool, value = |
|
24 (::boost::type_traits::ice_or< |
|
25 ::boost::has_trivial_constructor<T>::value, |
|
26 BOOST_HAS_NOTHROW_CONSTRUCTOR(T) |
|
27 >::value)); |
|
28 }; |
|
29 |
|
30 } |
|
31 |
|
32 BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value) |
|
33 BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_default_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value) |
|
34 |
|
35 } // namespace boost |
|
36 |
|
37 #include <boost/type_traits/detail/bool_trait_undef.hpp> |
|
38 |
|
39 #endif // BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED |