x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
vector.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\typeof\vector.hpp
旋转
特效
属性
历史版本
// Copyright (C) 2005 Arkadiy Vertleyb // Copyright (C) 2005 Peder Holt // // Copyright (C) 2006 Tobias Schwinger // // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_TYPEOF_VECTOR_HPP_INCLUDED #include
#include
#ifndef BOOST_TYPEOF_LIMIT_SIZE # define BOOST_TYPEOF_LIMIT_SIZE 50 #endif // // To recreate the preprocessed versions of this file preprocess and run // // $(BOOST_ROOT)/libs/typeof/tools/preprocess.pl // #if defined(BOOST_TYPEOF_PP_INCLUDE_EXTERNAL) # undef BOOST_TYPEOF_PP_INCLUDE_EXTERNAL #elif !defined(BOOST_TYPEOF_PREPROCESSING_MODE) && !BOOST_PP_IS_SELFISH # define BOOST_PP_INDIRECT_SELF
# if BOOST_TYPEOF_LIMIT_SIZE < 50 # include BOOST_PP_INCLUDE_SELF() # elif BOOST_TYPEOF_LIMIT_SIZE < 100 # include
# define BOOST_TYPEOF_PP_START_SIZE 51 # include BOOST_PP_INCLUDE_SELF() # elif BOOST_TYPEOF_LIMIT_SIZE < 150 # include
# define BOOST_TYPEOF_PP_START_SIZE 101 # include BOOST_PP_INCLUDE_SELF() # elif BOOST_TYPEOF_LIMIT_SIZE < 200 # include
# define BOOST_TYPEOF_PP_START_SIZE 151 # include BOOST_PP_INCLUDE_SELF() # elif BOOST_TYPEOF_LIMIT_SIZE <= 250 # include
# define BOOST_TYPEOF_PP_START_SIZE 201 # include BOOST_PP_INCLUDE_SELF() # else # error "BOOST_TYPEOF_LIMIT_SIZE too high" # endif #else// defined(BOOST_TYPEOF_PREPROCESSING_MODE) || BOOST_PP_IS_SELFISH # ifndef BOOST_TYPEOF_PP_NEXT_SIZE # define BOOST_TYPEOF_PP_NEXT_SIZE BOOST_TYPEOF_LIMIT_SIZE # endif # ifndef BOOST_TYPEOF_PP_START_SIZE # define BOOST_TYPEOF_PP_START_SIZE 0 # endif # if BOOST_TYPEOF_PP_START_SIZE <= BOOST_TYPEOF_LIMIT_SIZE # include
# include
# include
# include
# include
# include
# include
# include
# include
# include
// iterator # define BOOST_TYPEOF_spec_iter(n)\ template
\ struct v_iter
>\ {\ typedef typename V::item ## n type;\ typedef v_iter
> next;\ }; namespace boost { namespace type_of { template
struct v_iter; // not defined # define BOOST_PP_LOCAL_MACRO BOOST_TYPEOF_spec_iter # define BOOST_PP_LOCAL_LIMITS \ (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \ BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE)) # include BOOST_PP_LOCAL_ITERATE() }} # undef BOOST_TYPEOF_spec_iter // vector # define BOOST_TYPEOF_typedef_item(z, n, _)\ typedef P ## n item ## n; # define BOOST_TYPEOF_typedef_fake_item(z, n, _)\ typedef mpl::int_<1> item ## n; # define BOOST_TYPEOF_define_vector(n)\ template
\ struct vector ## n\ {\ typedef v_iter
, boost::mpl::int_<0> > begin;\ BOOST_PP_REPEAT(n, BOOST_TYPEOF_typedef_item, ~)\ BOOST_PP_REPEAT_FROM_TO(n, BOOST_TYPEOF_PP_NEXT_SIZE, BOOST_TYPEOF_typedef_fake_item, ~)\ }; namespace boost { namespace type_of { # define BOOST_PP_LOCAL_MACRO BOOST_TYPEOF_define_vector # define BOOST_PP_LOCAL_LIMITS \ (BOOST_TYPEOF_PP_START_SIZE,BOOST_TYPEOF_LIMIT_SIZE) # include BOOST_PP_LOCAL_ITERATE() }} # undef BOOST_TYPEOF_typedef_item # undef BOOST_TYPEOF_typedef_fake_item # undef BOOST_TYPEOF_define_vector // push_back # define BOOST_TYPEOF_spec_push_back(n)\ template
\ struct push_back
, T>\ {\ typedef BOOST_PP_CAT(boost::type_of::vector, BOOST_PP_INC(n))<\ BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_COMMA_IF(n) T\ > type;\ }; namespace boost { namespace type_of { # if BOOST_TYPEOF_LIMIT_SIZE < 50 template
struct push_back { typedef V type; }; # endif //default behaviour is to let push_back ignore T, and return the input vector. //This is to let BOOST_TYPEOF_NESTED_TYPEDEF work properly with the default vector. # define BOOST_PP_LOCAL_MACRO BOOST_TYPEOF_spec_push_back # define BOOST_PP_LOCAL_LIMITS \ (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \ BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE)) # include BOOST_PP_LOCAL_ITERATE() }} # undef BOOST_TYPEOF_spec_push_back # endif//BOOST_TYPEOF_PP_START_SIZE<=BOOST_TYPEOF_LIMIT_SIZE # undef BOOST_TYPEOF_PP_START_SIZE # undef BOOST_TYPEOF_PP_NEXT_SIZE #endif//BOOST_TYPEOF_PREPROCESSING_MODE || BOOST_PP_IS_SELFISH #define BOOST_TYPEOF_VECTOR_HPP_INCLUDED #endif//BOOST_TYPEOF_VECTOR_HPP_INCLUDED
vector.hpp
网页地址
文件地址
上一页
20/24
下一页
下载
( 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.