Update to boost 1.66

This commit is contained in:
MerryMage 2018-01-01 20:31:13 +00:00
parent 9ffbf897dc
commit d80e506e17
203 changed files with 14820 additions and 2478 deletions

View file

@ -41,6 +41,12 @@ namespace boost {
typedef T& type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_const_t = typename add_const<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED

View file

@ -36,6 +36,12 @@ template <class T> struct add_cv{ typedef T const volatile type; };
template <class T> struct add_cv<T&>{ typedef T& type; };
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_cv_t = typename add_cv<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_CV_HPP_INCLUDED

View file

@ -22,6 +22,12 @@ template <class T> struct add_lvalue_reference<T&&>
};
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_lvalue_reference_t = typename add_lvalue_reference<T>::type;
#endif
}
#endif // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP

View file

@ -56,6 +56,12 @@ struct add_pointer
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_pointer_t = typename add_pointer<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED

View file

@ -54,6 +54,13 @@ template <> struct add_reference<const volatile void> { typedef const volatile v
template <> struct add_reference<volatile void> { typedef volatile void type; };
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_reference_t = typename add_reference<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED

View file

@ -58,6 +58,12 @@ template <class T> struct add_rvalue_reference
typedef typename boost::type_traits_detail::add_rvalue_reference_imp<T>::type type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_rvalue_reference_t = typename add_rvalue_reference<T>::type;
#endif
} // namespace boost
#endif // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP

View file

@ -35,6 +35,12 @@ template <class T> struct add_volatile{ typedef T volatile type; };
template <class T> struct add_volatile<T&>{ typedef T& type; };
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using add_volatile_t = typename add_volatile<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED

View file

@ -14,6 +14,12 @@ namespace boost {
template <bool b, class T, class U> struct conditional { typedef T type; };
template <class T, class U> struct conditional<false, T, U> { typedef U type; };
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <bool b, class T, class U> using conditional_t = typename conditional<b, T, U>::type;
#endif
} // namespace boost

View file

@ -29,6 +29,12 @@ public:
typedef typename boost::conditional<boost::is_volatile<U>::value, typename boost::add_volatile<CT>::type, CT>::type type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T, class U> using copy_cv_t = typename copy_cv<T, U>::type;
#endif
} // namespace boost
#endif // #ifndef BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED

View file

@ -37,6 +37,12 @@ namespace boost
typedef typename boost::detail::decay_imp<Ty, boost::is_array<Ty>::value, boost::is_function<Ty>::value>::type type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using decay_t = typename decay<T>::type;
#endif
} // namespace boost

View file

@ -14,6 +14,12 @@ namespace boost {
template<> struct floating_point_promotion<float volatile>{ typedef double volatile type; };
template<> struct floating_point_promotion<float const volatile> { typedef double const volatile type; };
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using floating_point_promotion_t = typename floating_point_promotion<T>::type;
#endif
}
#endif // #ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED

View file

@ -175,6 +175,12 @@ public:
typedef typename boost::type_traits::detail::integral_promotion<T, tag_type::value>::type type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using integral_promotion_t = typename integral_promotion<T>::type;
#endif
}
#endif // #ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED

View file

@ -125,6 +125,12 @@ public:
>::type type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using make_signed_t = typename make_signed<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED

View file

@ -124,6 +124,12 @@ public:
>::type type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using make_unsigned_t = typename make_unsigned<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED

View file

@ -14,6 +14,12 @@ namespace boost {
template<class T> struct promote : public integral_promotion<typename floating_point_promotion<T>::type>{};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using promote_t = typename promote<T>::type;
#endif
}
#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED

View file

@ -30,6 +30,12 @@ template <class T> struct remove_all_extents<T const volatile[]> : public remove
#endif
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_all_extents_t = typename remove_all_extents<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED

View file

@ -16,6 +16,13 @@ namespace boost
template <class T> struct remove_bounds : public remove_extent<T> {};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_bounds_t = typename remove_bounds<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED

View file

@ -28,6 +28,12 @@ namespace boost {
#endif
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_const_t = typename remove_const<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED

View file

@ -34,6 +34,11 @@ template <class T> struct remove_cv<T volatile[]>{ typedef T type[]; };
#endif
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_cv_t = typename remove_cv<T>::type;
#endif
} // namespace boost

View file

@ -0,0 +1,30 @@
// (C) Copyright Peter Dimov 2017.
// Use, modification and distribution are subject to 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/type_traits for most recent version including documentation.
#ifndef BOOST_TT_REMOVE_CV_REF_HPP_INCLUDED
#define BOOST_TT_REMOVE_CV_REF_HPP_INCLUDED
#include <boost/config.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/remove_reference.hpp>
namespace boost {
template <class T> struct remove_cv_ref: remove_cv<typename remove_reference<T>::type> {};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_cv_ref_t = typename remove_cv_ref<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_REMOVE_CV_REF_HPP_INCLUDED

View file

@ -30,6 +30,12 @@ template <typename T> struct remove_extent<T const volatile[]> { typedef T const
#endif
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_extent_t = typename remove_extent<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED

View file

@ -72,6 +72,12 @@ template <class T> struct remove_pointer<T*const volatile>{ typedef T type; };
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_pointer_t = typename remove_pointer<T>::type;
#endif
} // namespace boost
#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED

View file

@ -48,6 +48,11 @@ template <class T> struct remove_reference<T&volatile>{ typedef T type; };
template <class T> struct remove_reference<T&const volatile>{ typedef T type; };
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_reference_t = typename remove_reference<T>::type;
#endif
} // namespace boost

View file

@ -28,6 +28,11 @@ namespace boost {
#endif
#endif
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using remove_volatile_t = typename remove_volatile<T>::type;
#endif
} // namespace boost

View file

@ -0,0 +1,15 @@
// (C) Copyright Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
// Use, modification and distribution are subject to 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/type_traits for most recent version including documentation.
//
// defines is_same:
#ifndef BOOST_TT_SAME_TRAITS_HPP_INCLUDED
#define BOOST_TT_SAME_TRAITS_HPP_INCLUDED
#include <boost/type_traits/is_same.hpp>
#endif // BOOST_TT_SAME_TRAITS_HPP_INCLUDED

View file

@ -17,6 +17,13 @@ template<class T> struct type_identity
typedef T type;
};
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
template <class T> using type_identity_t = typename type_identity<T>::type;
#endif
} // namespace boost
#endif // #ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED