/usr/include/boost/contract/detail
NameSizeModeActions
condition/-0755rm
inlined/-0755rm
operation/-0755rm
preprocessor/-0755rm
type_traits/-0755rm
assert.hpp10840644editdlrm
auto_ptr.hpp14250644editdlrm
check.hpp16910644editdlrm
checking.hpp21590644editdlrm
config.hpp8930644editdlrm
debug.hpp7460644editdlrm
decl.hpp50430644editdlrm
declspec.hpp20060644editdlrm
exception.hpp10720644editdlrm
inlined.hpp5650644editdlrm
name.hpp9450644editdlrm
none.hpp8770644editdlrm
noop.hpp7170644editdlrm
operator_safe_bool.hpp34700644editdlrm
static_local_var.hpp14430644editdlrm
tvariadic.hpp65970644editdlrm
Edit: /usr/include/boost/contract/detail/tvariadic.hpp (6597B)
#ifndef BOOST_CONTRACT_DETAIL_TVARIADIC_HPP_ #define BOOST_CONTRACT_DETAIL_TVARIADIC_HPP_ // Copyright (C) 2008-2018 Lorenzo Caminiti // Distributed under the Boost Software License, Version 1.0 (see accompanying // file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt). // See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html #include #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_CONTRACT_DETAIL_TVARIADIC 0 #else #define BOOST_CONTRACT_DETAIL_TVARIADIC 1 #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #include /* CODE */ namespace boost { namespace contract { namespace detail { namespace tvariadic_ { template struct indexes {}; template struct indexes_of : indexes_of {}; template struct indexes_of<0, I...> { typedef indexes type; }; } } } } // namespace #else #include #include #include #include #include /* PRIVATE */ #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_ELEM_(z, n, tuple) \ BOOST_PP_CAT(tuple, n) #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INIT_(z, n, tuplevar_values) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, tuplevar_values), n)( \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 1, tuplevar_values), n)) #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_(z, n, type_qualifier_name) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, type_qualifier_name), n) \ BOOST_PP_TUPLE_ELEM(3, 1, type_qualifier_name) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 2, type_qualifier_name), n) \ ; #define BOOST_CONTRACT_DETAIL_NO_TVARIADIC_ENUM_(z, n, tokens) \ tokens #define BOOST_CONTRACT_DETAIL_TVARIADIC_ARG_(z, n, name) \ BOOST_PP_CAT(name, n) #define BOOST_CONTRACT_DETAIL_TVARIADIC_FPARAM_(z, n, type_qualifier_name) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, type_qualifier_name), n) \ BOOST_PP_TUPLE_ELEM(3, 1, type_qualifier_name) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 2, type_qualifier_name), n) #define BOOST_CONTRACT_DETAIL_TVARIADIC_TPARAM_(z, n, name) \ typename BOOST_PP_CAT(name, n) #endif /* PUBLIC */ #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_COMMA(arity) \ , #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_COMMA(arity) \ BOOST_PP_COMMA_IF(arity) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_NO_TVARIADIC_COMMA(arity) /* nothing */ #else #define BOOST_CONTRACT_DETAIL_NO_TVARIADIC_COMMA(arity) \ BOOST_PP_COMMA_IF(arity) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_SIZEOF(arity, name) sizeof...(name) #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_SIZEOF(arity, name) arity #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TPARAMS_Z(z, arity, name) \ typename... name #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TPARAMS_Z(z, arity, name) \ BOOST_PP_ENUM_ ## z(arity, BOOST_CONTRACT_DETAIL_TVARIADIC_TPARAM_, \ name) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_FPARAMS_Z( \ z, arity, type, qualifier, name) \ type qualifier ... name #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_FPARAMS_Z( \ z, arity, type, qualifier, name) \ BOOST_PP_ENUM_ ## z(arity, BOOST_CONTRACT_DETAIL_TVARIADIC_FPARAM_, \ (type, qualifier, name)) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_ARGS_Z(z, arity, name) \ name... #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_ARGS_Z(z, arity, name) \ BOOST_PP_ENUM_ ## z(arity, BOOST_CONTRACT_DETAIL_TVARIADIC_ARG_, name) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_NO_TVARIADIC_ENUM_Z(z, arity, tokens) \ /* nothing */ #else #define BOOST_CONTRACT_DETAIL_NO_TVARIADIC_ENUM_Z(z, arity, tokens) \ BOOST_PP_ENUM_ ## z(arity, BOOST_CONTRACT_DETAIL_NO_TVARIADIC_ENUM_, \ tokens) #endif // Tuple. #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_Z( \ z, arity, type, qualifier, name) \ std::tuple name; #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_Z( \ z, arity, type, qualifier, name) \ BOOST_PP_REPEAT_ ## z(arity, BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_, \ (type, qualifier, name)) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INIT_Z(z, \ arity, tuple, values) \ tuple(values...) #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INIT_Z(z, \ arity, tuple, values) \ BOOST_PP_ENUM_ ## z(arity, BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INIT_,\ (tuple, values)) #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INDEXES_TPARAM(indexes) \ int... indexes #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INDEXES_TPARAM(indexes) \ /* nothing */ #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INDEXES_FPARAM(_indexes) \ boost::contract::detail::tvariadic_::indexes<_indexes...> #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INDEXES_FPARAM(_indexes) \ /* nothing */ #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INDEXES_OF(tuple_type) \ typename boost::contract::detail::tvariadic_::indexes_of< \ sizeof...(tuple_type)>::type() #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_INDEXES_OF(unused) \ /* nothing */ #endif #if BOOST_CONTRACT_DETAIL_TVARIADIC #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_ELEMS_Z( \ z, arity, indexes, tuple) \ std::get(tuple)... #else #define BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_ELEMS_Z( \ z, arity, indexes, tuple) \ BOOST_PP_ENUM_ ## z(arity, BOOST_CONTRACT_DETAIL_TVARIADIC_TUPLE_ELEM_,\ tuple) #endif #endif // #include guard