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_TRIVIAL_MOVE_HPP_INCLUDED
10 #define BOOST_VARIANT_DETAIL_HAS_TRIVIAL_MOVE_HPP_INCLUDED
12 #include "boost/config.hpp" // for STATIC_CONSTANT
13 #include "boost/type_traits/has_trivial_copy.hpp"
14 #include "boost/type_traits/has_trivial_assign.hpp"
16 #include "boost/mpl/and.hpp"
17 #include "boost/mpl/or.hpp"
19 // should be the last #include
20 #include "boost/variant/detail/bool_trait_def.hpp"
23 namespace detail { namespace variant {
25 // TRAIT: has_trivial_move
28 struct has_trivial_move_impl
30 BOOST_STATIC_CONSTANT(
34 , has_trivial_assign<T>
40 BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
43 , (::boost::detail::variant::has_trivial_move_impl<T>::value)
47 // TRAIT: has_trivial_move_constructor
50 struct has_trivial_move_constructor_impl
52 BOOST_STATIC_CONSTANT(
62 BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
63 has_trivial_move_constructor
65 , (::boost::detail::variant::has_trivial_move_constructor_impl<T>::value)
69 // TRAIT: has_trivial_move_assign
72 struct has_trivial_move_assign_impl
74 BOOST_STATIC_CONSTANT(
78 , has_trivial_assign<T>
84 BOOST_VARIANT_TT_AUX_BOOL_TRAIT_DEF1(
85 has_trivial_move_assign
87 , (::boost::detail::variant::has_trivial_move_assign_impl<T>::value)
90 }} // namespace detail::variant
92 BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_trivial_move)
93 BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_trivial_move_constructor)
94 BOOST_VARIANT_TT_AUX_TRAIT_SUFFIX(1,::boost::detail::variant::has_trivial_move_assign)
98 #include "boost/variant/detail/bool_trait_undef.hpp"
100 #endif // BOOST_VARIANT_DETAIL_HAS_TRIVIAL_MOVE_HPP_INCLUDED