x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
adapt_assoc_struct.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\fusion\adapted\struct\adapt_assoc_struct.hpp
旋转
特效
属性
历史版本
/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2007 Dan Marsden 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) ==============================================================================*/ #if !defined(BOOST_FUSION_ADAPT_ASSOC_STRUCT_20070508_2207) #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_20070508_2207 #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace boost { namespace fusion { namespace extension { template
struct struct_assoc_member; }}} #define BOOST_FUSION_ADAPT_ASSOC_STRUCT(name, bseq) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_I( \ name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_STRUCT_X bseq, 0)) \ /***/ #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_X(x, y, z) ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y(x, y, z) ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_X #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_X0 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_Y0 // BOOST_FUSION_ADAPT_ASSOC_STRUCT_I generates the overarching structure and uses // SEQ_FOR_EACH_I to generate the "linear" substructures. // Thanks to Paul Mensonides for the PP macro help #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_I(name, seq) \ namespace boost { namespace fusion { namespace traits \ { \ template <> \ struct tag_of
\ { \ typedef struct_tag type; \ }; \ }}} \ namespace boost { namespace fusion { namespace extension \ { \ template <> \ struct struct_size
: mpl::int_
{}; \ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_STRUCT_C, name, seq) \ }}} \ /***/ #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C(r, name, i, xy) \ template <> \ struct struct_member
\ { \ typedef BOOST_PP_TUPLE_ELEM(3, 0, xy) type; \ static type& call(name& struct_) \ { \ return struct_.BOOST_PP_TUPLE_ELEM(3, 1, xy); \ }; \ }; \ template<> \ struct struct_assoc_member
\ { \ typedef BOOST_PP_TUPLE_ELEM(3, 0, xy) type; \ static type& call(name& struct_) \ { \ return struct_.BOOST_PP_TUPLE_ELEM(3, 1, xy); \ }; \ }; /***/ #endif
adapt_assoc_struct.hpp
网页地址
文件地址
上一页 1/4
下一页
下载
( 5 KB )
Comments
Total ratings:
0
Average rating:
无评论
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.