Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
2 // (C) Copyright Eric Friedman 2002-2003.
3 // Distributed under the Boost Software License, Version 1.0. (See
4 // accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
7 // See http://www.boost.org for most recent version including documentation.
9 #ifndef BOOST_VARIANT_DETAIL_HAS_NOTHROW_MOVE_HPP_INCLUDED
10 #define BOOST_VARIANT_DETAIL_HAS_NOTHROW_MOVE_HPP_INCLUDED
12 #include "boost/config.hpp" // for STATIC_CONSTANT
13 #include "boost/variant/detail/has_trivial_move.hpp"
14 #include "boost/type_traits/has_nothrow_copy.hpp"
15 #include "boost/type_traits/has_nothrow_assign.hpp"
17 #include "boost/mpl/and.hpp"
18 #include "boost/mpl/or.hpp"
20 // should be the last #include
21 #include "boost/variant/detail/bool_trait_def.hpp"
24 namespace detail { namespace variant {
26 // TRAIT: has_nothrow_move
29 struct has_nothrow_move_impl
31 BOOST_STATIC_CONSTANT(
37 , has_nothrow_assign<T>
44 BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
47 , (::boost::detail::variant::has_nothrow_move_impl<T>::value)
51 // TRAIT: has_nothrow_move_constructor
54 struct has_nothrow_move_constructor_impl
56 BOOST_STATIC_CONSTANT(
60 , has_trivial_move_constructor<T>
67 BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
68 has_nothrow_move_constructor
70 , (::boost::detail::variant::has_nothrow_move_constructor_impl<T>::value)
74 // TRAIT: has_nothrow_move_assign
77 struct has_nothrow_move_assign_impl
79 BOOST_STATIC_CONSTANT(
83 , has_trivial_move_assign<T>
84 , has_nothrow_assign<T>
90 BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
91 has_nothrow_move_assign
93 , (::boost::detail::variant::has_nothrow_move_assign_impl<T>::value)
96 }} // namespace detail::variant
98 BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_nothrow_move)
99 BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_nothrow_move_constructor)
100 BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_nothrow_move_assign)
104 #include "boost/variant/detail/bool_trait_undef.hpp"
106 #endif // BOOST_VARIANT_DETAIL_HAS_NOTHROW_MOVE_HPP_INCLUDED