#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.