|
Boost : |
From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2005-07-02 17:59:22
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)
}
}
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk