/usr/include/boost/parameter
NameSizeModeActions
aux_/-0755rm
are_tagged_arguments.hpp48120644editdlrm
binding.hpp55130644editdlrm
compose.hpp84220644editdlrm
config.hpp37470644editdlrm
deduced.hpp35870644editdlrm
is_argument_pack.hpp8360644editdlrm
keyword.hpp281880644editdlrm
keyword_fwd.hpp6710644editdlrm
macros.hpp115690644editdlrm
match.hpp18490644editdlrm
name.hpp57990644editdlrm
nested_keyword.hpp72080644editdlrm
optional.hpp18970644editdlrm
parameters.hpp213670644editdlrm
preprocessor.hpp111130644editdlrm
preprocessor_no_spec.hpp36730644editdlrm
python.hpp190480644editdlrm
required.hpp18340644editdlrm
template_keyword.hpp32870644editdlrm
value_type.hpp55300644editdlrm
Edit: /usr/include/boost/parameter/nested_keyword.hpp (7208B)
// Copyright Eric Niebler 2005. // 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) #ifndef BOOST_PARAMETER_NESTED_KEYWORD_HPP #define BOOST_PARAMETER_NESTED_KEYWORD_HPP #include #include #include #include #include #if defined(BOOST_PARAMETER_CAN_USE_MP11) #define BOOST_PARAMETER_NESTED_KEYWORD_AUX(tag_namespace, q, name, alias) \ namespace tag_namespace \ { \ template \ struct BOOST_PP_CAT(name, _) \ { \ static BOOST_CONSTEXPR char const* keyword_name() \ { \ return BOOST_PP_STRINGIZE(name); \ } \ using _ = BOOST_PARAMETER_TAG_PLACEHOLDER_TYPE( \ BOOST_PP_CAT(name, _) \ ); \ using _1 = BOOST_PARAMETER_TAG_PLACEHOLDER_TYPE( \ BOOST_PP_CAT(name, _) \ ); \ BOOST_PARAMETER_TAG_MP11_PLACEHOLDER_BINDING( \ binding_fn \ , BOOST_PP_CAT(name, _) \ ); \ BOOST_PARAMETER_TAG_MP11_PLACEHOLDER_VALUE( \ fn \ , BOOST_PP_CAT(name, _) \ ); \ using qualifier = ::boost::parameter::q; \ static ::boost::parameter::keyword< \ BOOST_PP_CAT(name, _) \ > const& alias; \ }; \ template \ ::boost::parameter::keyword< \ BOOST_PP_CAT(name, _) \ > const& BOOST_PP_CAT(name, _)::alias \ = ::boost::parameter::keyword< \ BOOST_PP_CAT(name, _) \ >::instance; \ typedef BOOST_PP_CAT(name, _)<> name; \ } \ namespace \ { \ ::boost::parameter::keyword const& name \ = ::boost::parameter::keyword::instance; \ } /**/ #else // !defined(BOOST_PARAMETER_CAN_USE_MP11) #define BOOST_PARAMETER_NESTED_KEYWORD_AUX(tag_namespace, q, name, alias) \ namespace tag_namespace \ { \ template \ struct BOOST_PP_CAT(name, _) \ { \ static BOOST_CONSTEXPR char const* keyword_name() \ { \ return BOOST_PP_STRINGIZE(name); \ } \ typedef BOOST_PARAMETER_TAG_PLACEHOLDER_TYPE( \ BOOST_PP_CAT(name, _) \ ) _; \ typedef BOOST_PARAMETER_TAG_PLACEHOLDER_TYPE( \ BOOST_PP_CAT(name, _) \ ) _1; \ typedef ::boost::parameter::q qualifier; \ static ::boost::parameter::keyword< \ BOOST_PP_CAT(name, _) \ > const& alias; \ }; \ template \ ::boost::parameter::keyword< \ BOOST_PP_CAT(name, _) \ > const& BOOST_PP_CAT(name, _)::alias \ = ::boost::parameter::keyword< \ BOOST_PP_CAT(name, _) \ >::instance; \ typedef BOOST_PP_CAT(name, _)<> name; \ } \ namespace \ { \ ::boost::parameter::keyword const& name \ = ::boost::parameter::keyword::instance; \ } /**/ #endif // BOOST_PARAMETER_CAN_USE_MP11 #include #define BOOST_PARAMETER_NESTED_KEYWORD(tag_namespace, name, alias) \ BOOST_PARAMETER_NESTED_KEYWORD_AUX( \ tag_namespace \ , BOOST_PARAMETER_GET_QUALIFIER(name) \ , BOOST_PARAMETER_UNQUALIFIED(name) \ , alias \ ) /**/ #endif // include guard