71 lines
2.7 KiB
Plaintext
71 lines
2.7 KiB
Plaintext
//////////////////////////////////////////////////////////////////////////////
|
|
// (C) Copyright John Maddock 2000.
|
|
// (C) Copyright Ion Gaztanaga 2005-2015.
|
|
//
|
|
// Distributed under the Boost Software License, Version 1.0.
|
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
// See http://www.boost.org/libs/container for documentation.
|
|
//
|
|
// The alignment and Type traits implementation comes from
|
|
// John Maddock's TypeTraits library.
|
|
//
|
|
// Some other tricks come from Howard Hinnant's papers and StackOverflow replies
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP
|
|
#define BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP
|
|
|
|
#ifndef BOOST_CONFIG_HPP
|
|
# include <boost/config.hpp>
|
|
#endif
|
|
|
|
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
|
# pragma once
|
|
#endif
|
|
|
|
#include <boost/move/detail/type_traits.hpp>
|
|
|
|
namespace boost {
|
|
namespace container {
|
|
namespace container_detail {
|
|
|
|
using ::boost::move_detail::enable_if;
|
|
using ::boost::move_detail::enable_if_and;
|
|
using ::boost::move_detail::is_same;
|
|
using ::boost::move_detail::is_different;
|
|
using ::boost::move_detail::is_pointer;
|
|
using ::boost::move_detail::add_reference;
|
|
using ::boost::move_detail::add_const;
|
|
using ::boost::move_detail::add_const_reference;
|
|
using ::boost::move_detail::remove_const;
|
|
using ::boost::move_detail::remove_reference;
|
|
using ::boost::move_detail::make_unsigned;
|
|
using ::boost::move_detail::is_floating_point;
|
|
using ::boost::move_detail::is_integral;
|
|
using ::boost::move_detail::is_enum;
|
|
using ::boost::move_detail::is_pod;
|
|
using ::boost::move_detail::is_empty;
|
|
using ::boost::move_detail::is_trivially_destructible;
|
|
using ::boost::move_detail::is_trivially_default_constructible;
|
|
using ::boost::move_detail::is_trivially_copy_constructible;
|
|
using ::boost::move_detail::is_trivially_move_constructible;
|
|
using ::boost::move_detail::is_trivially_copy_assignable;
|
|
using ::boost::move_detail::is_trivially_move_assignable;
|
|
using ::boost::move_detail::is_nothrow_default_constructible;
|
|
using ::boost::move_detail::is_nothrow_copy_constructible;
|
|
using ::boost::move_detail::is_nothrow_move_constructible;
|
|
using ::boost::move_detail::is_nothrow_copy_assignable;
|
|
using ::boost::move_detail::is_nothrow_move_assignable;
|
|
using ::boost::move_detail::is_nothrow_swappable;
|
|
using ::boost::move_detail::alignment_of;
|
|
using ::boost::move_detail::aligned_storage;
|
|
using ::boost::move_detail::nat;
|
|
using ::boost::move_detail::max_align_t;
|
|
|
|
} //namespace container_detail {
|
|
} //namespace container {
|
|
} //namespace boost {
|
|
|
|
#endif //#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP
|