x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
indirect_traits.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\detail\indirect_traits.hpp
旋转
特效
属性
历史版本
// Copyright David Abrahams 2002. // 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) #ifndef INDIRECT_TRAITS_DWA2002131_HPP # define INDIRECT_TRAITS_DWA2002131_HPP # include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # include
# endif namespace boost { namespace detail { namespace indirect_traits { # ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template
struct is_reference_to_const : mpl::false_ { }; template
struct is_reference_to_const
: mpl::true_ { }; # if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround template
struct is_reference_to_const
: mpl::true_ { }; # endif template
struct is_reference_to_function : mpl::false_ { }; template
struct is_reference_to_function
: is_function
{ }; template
struct is_pointer_to_function : mpl::false_ { }; // There's no such thing as a pointer-to-cv-function, so we don't need // specializations for those template
struct is_pointer_to_function
: is_function
{ }; template
struct is_reference_to_member_function_pointer_impl : mpl::false_ { }; template
struct is_reference_to_member_function_pointer_impl
: is_member_function_pointer
::type> { }; template
struct is_reference_to_member_function_pointer : is_reference_to_member_function_pointer_impl
{ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) }; template
struct is_reference_to_function_pointer_aux : mpl::and_< is_reference
, is_pointer_to_function< typename remove_cv< typename remove_reference
::type >::type > > { // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those }; template
struct is_reference_to_function_pointer : mpl::if_< is_reference_to_function
, mpl::false_ , is_reference_to_function_pointer_aux
>::type { }; template
struct is_reference_to_non_const : mpl::and_< is_reference
, mpl::not_< is_reference_to_const
> > { }; template
struct is_reference_to_volatile : mpl::false_ { }; template
struct is_reference_to_volatile
: mpl::true_ { }; # if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround template
struct is_reference_to_volatile
: mpl::true_ { }; # endif template
struct is_reference_to_pointer : mpl::false_ { }; template
struct is_reference_to_pointer
: mpl::true_ { }; template
struct is_reference_to_pointer
: mpl::true_ { }; template
struct is_reference_to_pointer
: mpl::true_ { }; template
struct is_reference_to_pointer
: mpl::true_ { }; template
struct is_reference_to_class : mpl::and_< is_reference
, is_class< typename remove_cv< typename remove_reference
::type >::type > > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) }; template
struct is_pointer_to_class : mpl::and_< is_pointer
, is_class< typename remove_cv< typename remove_pointer
::type >::type > > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T)) }; # else using namespace boost::detail::is_function_ref_tester_; typedef char (&inner_yes_type)[3]; typedef char (&inner_no_type)[2]; typedef char (&outer_no_type)[1]; template
struct is_const_help { typedef typename mpl::if_< is_const
, inner_yes_type , inner_no_type >::type type; }; template
struct is_volatile_help { typedef typename mpl::if_< is_volatile
, inner_yes_type , inner_no_type >::type type; }; template
struct is_pointer_help { typedef typename mpl::if_< is_pointer
, inner_yes_type , inner_no_type >::type type; }; template
struct is_class_help { typedef typename mpl::if_< is_class
, inner_yes_type , inner_no_type >::type type; }; template
struct is_reference_to_function_aux { static T t; BOOST_STATIC_CONSTANT( bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::boost::type_traits::yes_type)); typedef mpl::bool_
type; }; template
struct is_reference_to_function : mpl::if_
, is_reference_to_function_aux
, mpl::bool_
>::type { }; template
struct is_pointer_to_function_aux { static T t; BOOST_STATIC_CONSTANT( bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type)); typedef mpl::bool_
type; }; template
struct is_pointer_to_function : mpl::if_
, is_pointer_to_function_aux
, mpl::bool_
>::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T)) }; struct false_helper1 { template
struct apply : mpl::false_ { }; }; template
typename is_const_help
::type reference_to_const_helper(V&); outer_no_type reference_to_const_helper(...); struct true_helper1 { template
struct apply { static T t; BOOST_STATIC_CONSTANT( bool, value = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type)); typedef mpl::bool_
type; }; }; template
struct is_reference_to_const_helper1 : true_helper1 { }; template <> struct is_reference_to_const_helper1
: false_helper1 { }; template
struct is_reference_to_const : is_reference_to_const_helper1
::value>::template apply
{ }; template
struct is_reference_to_non_const_helper1 { template
struct apply { static T t; BOOST_STATIC_CONSTANT( bool, value = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type)); typedef mpl::bool_
type; }; }; template <> struct is_reference_to_non_const_helper1
: false_helper1 { }; template
struct is_reference_to_non_const : is_reference_to_non_const_helper1
::value>::template apply
{ BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T)) }; template
typename is_volatile_help
::type reference_to_volatile_helper(V&); outer_no_type reference_to_volatile_helper(...); template
struct is_reference_to_volatile_helper1 { template
struct apply { static T t; BOOST_STATIC_CONSTANT( bool, value = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type)); typedef mpl::bool_
type; }; }; template <> struct is_reference_to_volatile_helper1
: false_helper1 { }; template
struct is_reference_to_volatile : is_reference_to_volatile_helper1
::value>::template apply
{ }; template
typename is_pointer_help
::type reference_to_pointer_helper(V&); outer_no_type reference_to_pointer_helper(...); template
struct reference_to_pointer_impl { static T t; BOOST_STATIC_CONSTANT( bool, value = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type)) ); typedef mpl::bool_
type; }; template
struct is_reference_to_pointer : mpl::eval_if
, reference_to_pointer_impl
, mpl::false_>::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T)) }; template
struct is_reference_to_function_pointer : mpl::eval_if
, is_pointer_to_function_aux
, mpl::false_>::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T)) }; template
struct is_member_function_pointer_help : mpl::if_
, inner_yes_type, inner_no_type> {}; template
typename is_member_function_pointer_help
::type member_function_pointer_helper(V&); outer_no_type member_function_pointer_helper(...); template
struct is_pointer_to_member_function_aux { static T t; BOOST_STATIC_CONSTANT( bool, value = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type)); typedef mpl::bool_
type; }; template
struct is_reference_to_member_function_pointer : mpl::if_< is_reference
, is_pointer_to_member_function_aux
, mpl::bool_
>::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) }; template
typename is_class_help
::type reference_to_class_helper(V const volatile&); outer_no_type reference_to_class_helper(...); template
struct is_reference_to_class { static T t; BOOST_STATIC_CONSTANT( bool, value = (is_reference
::value & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type))) ); typedef mpl::bool_
type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) }; template
typename is_class_help
::type pointer_to_class_helper(V const volatile*); outer_no_type pointer_to_class_helper(...); template
struct is_pointer_to_class { static T t; BOOST_STATIC_CONSTANT( bool, value = (is_pointer
::value && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type)) ); typedef mpl::bool_
type; }; # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION } using namespace indirect_traits; }} // namespace boost::python::detail #endif // INDIRECT_TRAITS_DWA2002131_HPP
indirect_traits.hpp
网页地址
文件地址
上一页
19/61
下一页
下载
( 11 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.