Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:50:38

0001 // Copyright Shreyans Doshi 2017.
0002 // Distributed under the Boost Software License, Version 1.0. (See
0003 // accompanying file LICENSE_1_0.txt or copy at
0004 // http://www.boost.org/LICENSE_1_0.txt)
0005 
0006 #ifndef BOOST_PYTHON_DETAIL_TYPE_TRAITS_HPP
0007 # define BOOST_PYTHON_DETAIL_TYPE_TRAITS_HPP
0008 
0009 
0010 #include <boost/config.hpp>
0011 #ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS
0012 # include <boost/type_traits/transform_traits.hpp>
0013 # include <boost/type_traits/same_traits.hpp>
0014 # include <boost/type_traits/cv_traits.hpp>
0015 # include <boost/type_traits/is_polymorphic.hpp>
0016 # include <boost/type_traits/composite_traits.hpp>
0017 # include <boost/type_traits/conversion_traits.hpp>
0018 # include <boost/type_traits/add_pointer.hpp>
0019 # include <boost/type_traits/remove_pointer.hpp>
0020 # include <boost/type_traits/is_void.hpp>
0021 # include <boost/type_traits/object_traits.hpp>
0022 # include <boost/type_traits/add_lvalue_reference.hpp>
0023 # include <boost/type_traits/function_traits.hpp>
0024 # include <boost/type_traits/is_scalar.hpp>
0025 # include <boost/type_traits/alignment_traits.hpp>
0026 # include <boost/mpl/bool.hpp>
0027 #else
0028 # include <type_traits>
0029 #endif
0030 
0031 # include <boost/type_traits/is_base_and_derived.hpp>
0032 # include <boost/type_traits/alignment_traits.hpp>
0033 # include <boost/type_traits/has_trivial_copy.hpp>
0034 
0035 
0036 namespace boost { namespace python { namespace detail {
0037 
0038 #ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS
0039     using boost::alignment_of;
0040     using boost::add_const;
0041     using boost::add_cv;
0042     using boost::add_lvalue_reference;
0043     using boost::add_pointer;
0044 
0045     using boost::is_array;
0046     using boost::is_class;
0047     using boost::is_const;
0048     using boost::is_convertible;
0049     using boost::is_enum;
0050     using boost::is_function;
0051     using boost::is_integral;
0052     using boost::is_lvalue_reference;
0053     using boost::is_member_function_pointer;
0054     using boost::is_member_pointer;
0055     using boost::is_pointer;
0056     using boost::is_polymorphic;
0057     using boost::is_reference;
0058     using boost::is_same;
0059     using boost::is_scalar;
0060     using boost::is_union;
0061     using boost::is_void;
0062     using boost::is_volatile;
0063 
0064     using boost::remove_reference;
0065     using boost::remove_pointer;
0066     using boost::remove_cv;
0067     using boost::remove_const;
0068 
0069     using boost::mpl::true_;
0070     using boost::mpl::false_;
0071 #else
0072     using std::alignment_of;
0073     using std::add_const;
0074     using std::add_cv;
0075     using std::add_lvalue_reference;
0076     using std::add_pointer;
0077 
0078     using std::is_array;
0079     using std::is_class;
0080     using std::is_const;
0081     using std::is_convertible;
0082     using std::is_enum;
0083     using std::is_function;
0084     using std::is_integral;
0085     using std::is_lvalue_reference;
0086     using std::is_member_function_pointer;
0087     using std::is_member_pointer;
0088     using std::is_pointer;
0089     using std::is_polymorphic;
0090     using std::is_reference;
0091     using std::is_same;
0092     using std::is_scalar;
0093     using std::is_union;
0094     using std::is_void;
0095     using std::is_volatile;
0096 
0097     using std::remove_reference;
0098     using std::remove_pointer;
0099     using std::remove_cv;
0100     using std::remove_const;
0101 
0102     typedef std::integral_constant<bool, true> true_;
0103     typedef std::integral_constant<bool, false> false_;
0104 #endif
0105     using boost::is_base_and_derived;
0106     using boost::type_with_alignment;
0107     using boost::has_trivial_copy;
0108 }}} // namespace boost::python::detail
0109 
0110 
0111 #endif //BOOST_DETAIL_TYPE_TRAITS_HPP