#include <boost/preprocessor/repetition/enum.hpp>#include <boost/preprocessor/repetition/enum_trailing.hpp>#include <boost/preprocessor/repetition/enum_params.hpp>#include <boost/preprocessor/repetition/enum_shifted_params.hpp>#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>#include <boost/preprocessor/repetition/enum_binary_params.hpp>#include <boost/preprocessor/cat.hpp>#include <boost/type_traits/remove_reference.hpp>#include <boost/type_traits/remove_cv.hpp>#include <boost/mpl/eval_if.hpp>#include <boost/mpl/identity.hpp>#include <boost/mpl/int.hpp>#include <boost/mpl/next.hpp>#include <boost/type_erasure/detail/macro.hpp>#include <boost/type_erasure/detail/const.hpp>#include <boost/type_erasure/config.hpp>#include <boost/type_erasure/derived.hpp>#include <boost/type_erasure/rebind_any.hpp>#include <boost/type_erasure/param.hpp>#include <boost/type_erasure/is_placeholder.hpp>#include <boost/type_erasure/call.hpp>#include <boost/type_erasure/concept_interface.hpp>
Namespaces | |
| boost | |
| Duration formatting facet for input. | |
| boost::type_erasure | |
| boost::type_erasure::detail | |
Macros | |
| #define | BOOST_TYPE_ERASURE_FREE_II(qual_name, concept_name, function_name, N) |
| INTERNAL ONLY. More... | |
| #define | BOOST_TYPE_ERASURE_FREE_I(namespace_name, concept_name, function_name, N) BOOST_TYPE_ERASURE_FREE_II(namespace_name, concept_name, function_name, N) |
| INTERNAL ONLY. More... | |
| #define | BOOST_TYPE_ERASURE_FREE(qualified_name, function_name, N) |
| Defines a primitive concept for a free function. More... | |
| #define BOOST_TYPE_ERASURE_FREE | ( | qualified_name, | |
| function_name, | |||
| N | |||
| ) |
Defines a primitive concept for a free function.
| qualified_name | should be a preprocessor sequence of the form (namespace1)(namespace2)...(concept_name). |
| function_name | is the name of the function. |
| N | is the number of arguments of the function. |
The declaration of the concept is
where Sig is a function type giving the signature of the function.
This macro can only be used in the global namespace.
Example:
| #define BOOST_TYPE_ERASURE_FREE_I | ( | namespace_name, | |
| concept_name, | |||
| function_name, | |||
| N | |||
| ) | BOOST_TYPE_ERASURE_FREE_II(namespace_name, concept_name, function_name, N) |
INTERNAL ONLY.
| #define BOOST_TYPE_ERASURE_FREE_II | ( | qual_name, | |
| concept_name, | |||
| function_name, | |||
| N | |||
| ) |
INTERNAL ONLY.