/usr/include/boost/typeof
NameSizeModeActions
dmc/-0755rm
msvc/-0755rm
std/-0755rm
constant.hpp4920644editdlrm
decltype.hpp10470644editdlrm
encode_decode.hpp15350644editdlrm
encode_decode_params.hpp13420644editdlrm
incr_registration_group.hpp5280644editdlrm
integral_template_param.hpp36930644editdlrm
int_encoding.hpp33480644editdlrm
message.hpp3010644editdlrm
modifiers.hpp48370644editdlrm
native.hpp14130644editdlrm
pointers_data_members.hpp11550644editdlrm
register_functions.hpp25350644editdlrm
register_functions_iterate.hpp45980644editdlrm
register_fundamental.hpp20910644editdlrm
register_mem_functions.hpp11310644editdlrm
template_encoding.hpp62690644editdlrm
template_template_param.hpp62990644editdlrm
typeof.hpp67920644editdlrm
typeof_impl.hpp74540644editdlrm
type_encoding.hpp14590644editdlrm
type_template_param.hpp14730644editdlrm
unsupported.hpp8150644editdlrm
vector.hpp54790644editdlrm
vector50.hpp2163410644editdlrm
vector100.hpp6669110644editdlrm
vector150.hpp13670110644editdlrm
vector200.hpp23287440644editdlrm
Edit: /usr/include/boost/typeof/vector.hpp (5479B)
// 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 constant item ## n; # define BOOST_TYPEOF_define_vector(n)\ template\ struct vector ## n\ {\ typedef v_iter, boost::type_of::constant > 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