x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
name.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\parameter\name.hpp
旋转
特效
属性
历史版本
// Copyright Daniel Wallin 2006. Use, modification and distribution is // 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) #ifndef BOOST_PARAMETER_NAME_060806_HPP # define BOOST_PARAMETER_NAME_060806_HPP # include
# include
# include
# include
# include
# include
# include
# include
# include
# if !defined(BOOST_NO_SFINAE) \ && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) # include
# include
namespace boost { namespace parameter { namespace aux { // Tag type passed to MPL lambda. struct lambda_tag; struct name_tag_base {}; template
struct name_tag {}; template
struct is_name_tag : mpl::false_ {}; }}} // namespace boost::parameter::aux namespace boost { namespace mpl { template
struct lambda< T , typename enable_if< parameter::aux::is_name_tag
, parameter::aux::lambda_tag >::type > { typedef true_ is_le; typedef bind3< quote3
, arg<2>, T, void> result_; typedef result_ type; }; }} // namespace boost::mpl # endif # if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) # include
// From Paul Mensonides # define BOOST_PARAMETER_IS_BINARY(x) \ BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_BINARY_C x BOOST_PP_COMMA() 0) \ /**/ # define BOOST_PARAMETER_IS_BINARY_C(x,y) \ ~, 1 BOOST_PP_RPAREN() \ BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \ /**/ # else # include
# define BOOST_PARAMETER_IS_BINARY(x) BOOST_PP_IS_BINARY(x) # endif # if BOOST_WORKAROUND(BOOST_MSVC, < 1300) # define BOOST_PARAMETER_NAME_OBJECT(tag, name) \ static ::boost::parameter::keyword
const& name \ = ::boost::parameter::keyword
::instance; # else # define BOOST_PARAMETER_NAME_OBJECT(tag, name) \ namespace \ { \ ::boost::parameter::keyword
const& name \ = ::boost::parameter::keyword
::instance; \ } # endif # define BOOST_PARAMETER_BASIC_NAME(tag_namespace, tag, name) \ namespace tag_namespace \ { \ struct tag \ { \ static char const* keyword_name() \ { \ return BOOST_PP_STRINGIZE(tag); \ } \ \ typedef boost::parameter::value_type< \ boost::mpl::_2, tag, boost::parameter::void_ \ > _; \ \ typedef boost::parameter::value_type< \ boost::mpl::_2, tag, boost::parameter::void_ \ > _1; \ }; \ } \ BOOST_PARAMETER_NAME_OBJECT(tag_namespace::tag, name) # define BOOST_PARAMETER_COMPLEX_NAME_TUPLE1(tag,namespace) \ (tag, namespace), ~ # define BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name) \ BOOST_PP_TUPLE_ELEM(2, 0, (BOOST_PARAMETER_COMPLEX_NAME_TUPLE1 name)) # define BOOST_PARAMETER_COMPLEX_NAME_TAG(name) \ BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)) # define BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name) \ BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)) # define BOOST_PARAMETER_COMPLEX_NAME(name) \ BOOST_PARAMETER_BASIC_NAME( \ BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name) \ , BOOST_PP_TUPLE_EAT(2) name \ , BOOST_PARAMETER_COMPLEX_NAME_TAG(name) \ ) \ /**/ # define BOOST_PARAMETER_SIMPLE_NAME(name) \ BOOST_PARAMETER_BASIC_NAME(tag, name, BOOST_PP_CAT(_, name)) # define BOOST_PARAMETER_NAME(name) \ BOOST_PP_IIF( \ BOOST_PARAMETER_IS_BINARY(name) \ , BOOST_PARAMETER_COMPLEX_NAME \ , BOOST_PARAMETER_SIMPLE_NAME \ )(name) \ /**/ # define BOOST_PARAMETER_TEMPLATE_KEYWORD(name) \ namespace tag \ { \ struct name; \ } \ template
\ struct name \ : boost::parameter::template_keyword
\ {}; \ /**/ #endif // BOOST_PARAMETER_NAME_060806_HPP
name.hpp
网页地址
文件地址
上一页
6/10
下一页
下载
( 6 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.