[function_type] Synopsis

Synopsis: --------- namespace boost { namespace function_type { // Classification (header: boost/function_type/classification.hpp) // Result: bool, Concept: MPL-Integral Constant template<typename T, typename Tag = no_attributes> struct is_function; % % struct is_function_pointer; % % struct is_function_reference; % % struct is_member_function_pointer; % % struct is_callable_builtin; // any of the above % % struct is_callable_scalar; // any except undecorated % % struct is_nonmember_callable_builtin; // any except member pointers % % struct is_nonmember_callable_scalar; // function pointer or reference // Synthesis (header: boost/function_type/synthesis.hpp) // Result: type, Concept: Metafunction template<typename T_or_Signature_or_Seq ,typename Tag = no_attributes, typename ClassT = add_reference<_> > struct function_type; % % struct function_pointer; % % struct function_reference; % % struct member_function_pointer; // Decomposition (header: boost/function_type/decomposition.hpp) // Result: bool, Concept: MPL-Integral Constant template<typename T> struct arity<T>; // Result: type, Concept: Metafunction template<typename T> struct class_of; template<typename T> struct result; template<typename T, typename Index> struct parameter; template<typename T, std::size_t Index> struct parameter_c; template<typename T, typename Index> struct effective_parameter; template<typename T, std::size_t Index> struct effective_parameter_c; // Concept: MPL Random-Access Sequence template<typename T> struct parameters; template<typename T, typename ClassT = add_reference<_> > struct effective_parameters; // Concept: MPL Extensible/Random-Access Sequence and Tag template<typename T, typename ClassT = add_reference<_> > struct signature; // Tags (no header needed - "just there") template<typename Tag1, typename Tag2 = ... struct tag; // - variadic property // defaults to 'nonvariadic' with synthesis typedef /.../ nonvariadic; typedef /.../ variadic; // - const aspect (ignored for nonmember functions) // defaults to the const qualification of the class type with synthesis typedef /.../ const_member; typedef /.../ nonconst_member; // - volatile aspect (ignored for nonmember functions) // defaults to the volatile qualification of the class type with synthesis typedef /.../ volatile_member; typedef /.../ nonvolatile_member; // Calling convention aspect // defaults to default_call when used with synthesis typedef /.../ default_call; typedef /.../ cdecl, stdcall, etc. (depends on configuration) } }
participants (1)
-
Tobias Schwinger