17#ifndef _STLP_BOOST_TYPE_TRAITS_H
18#define _STLP_BOOST_TYPE_TRAITS_H
20#ifndef BOOST_CONFIG_SUFFIX_HPP
21# ifdef BOOST_CONFIG_HPP
22# undef BOOST_CONFIG_HPP
24# include <boost/config.hpp>
27#include <boost/type_traits/is_integral.hpp>
28#include <boost/type_traits/is_float.hpp>
29#include <boost/type_traits/has_trivial_constructor.hpp>
30#include <boost/type_traits/has_trivial_copy.hpp>
31#include <boost/type_traits/has_trivial_assign.hpp>
32#include <boost/type_traits/has_trivial_destructor.hpp>
33#include <boost/type_traits/is_pod.hpp>
34#include <boost/type_traits/is_pointer.hpp>
35#include <boost/type_traits/is_reference.hpp>
36#include <boost/type_traits/remove_cv.hpp>
37#include <boost/type_traits/is_same.hpp>
49 enum {
_Is = ::boost::is_reference<_Tp>::value };
64 enum {
is_float = ::boost::is_float<_Tp>::value };
82 enum {
pod = ::boost::is_pod<_Tp>::value };
86template <
class _Tp1,
class _Tp2>
88 typedef typename ::boost::remove_cv<_Tp1>::type
uncv1;
89 typedef typename ::boost::remove_cv<_Tp2>::type
uncv2;
91 enum {
same = ::boost::is_same<uncv1, uncv2>::value };
103template <
class _Tp1,
class _Tp2>
105 typedef typename ::boost::remove_cv<_Tp1>::type
uncv1;
106 typedef typename ::boost::remove_cv<_Tp2>::type
uncv2;
108 enum {
same = ::boost::is_same<uncv1, uncv2>::value };
134 typedef typename ::boost::remove_cv<_Tp>::type
uncv;
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
__bool2type< is_float >::_Ret _IsFloat
__bool2type< is_pointer >::_Ret _IsPointer
__bool2type< is_integral >::_Ret _IsIntegral
_Lor3< _IsIntegral, _IsFloat, _IsPointer >::_Ret _Ret
__bool2type< is_integral >::_Ret _Ret
__bool2type< is_pointer >::_Ret _Ret
__bool2type< is_float >::_Ret _Ret
__bool2type< _Is >::_Ret _Ret
_Lor2< _BoostTrivialAssign, _STLPTrivialAssign >::_Ret _TrivialAssign
__bool2type< boost_trivial_assign >::_Ret _BoostTrivialAssign
__bool2type< same >::_Ret _Same
__type_traits< uncv1 >::has_trivial_assignment_operator _STLPTrivialAssign
_Land2< _Same, _TrivialAssign >::_Ret _Type
::boost::remove_cv< _Tp1 >::type uncv1
::boost::remove_cv< _Tp2 >::type uncv2
_Lor2< _BoostTrivialInit, _STLPTrivialInit >::_Ret _Tr1
_DefaultZeroValue< _Tp >::_Ret _Tr2
__type_traits< uncv >::has_trivial_default_constructor _STLPTrivialInit
_Land2< _Tr1, _Tr3 >::_Ret _Ret
@ boost_trivial_constructor
__bool2type< boost_trivial_constructor >::_Ret _BoostTrivialInit
::boost::remove_cv< _Tp >::type uncv
_Land2< _Same, _TrivialCopy >::_Ret _Type
_Lor2< _BoostTrivialCopy, _STLPTrivialCopy >::_Ret _TrivialCopy
__bool2type< boost_trivial_copy >::_Ret _BoostTrivialCopy
__bool2type< same >::_Ret _Same
__type_traits< uncv1 >::has_trivial_copy_constructor _STLPTrivialCopy
::boost::remove_cv< _Tp2 >::type uncv2
::boost::remove_cv< _Tp1 >::type uncv1
__bool2type< pod >::_Ret is_POD_type
__bool2type< trivial_destructor >::_Ret has_trivial_destructor
__bool2type< trivial_constructor >::_Ret has_trivial_default_constructor
__bool2type< trivial_copy >::_Ret has_trivial_copy_constructor
__bool2type< trivial_assign >::_Ret has_trivial_assignment_operator