| Home | Libraries | People | FAQ | More

### Class templates for type synthesis

#### function_type

    template<typename Types, typename Tag = null_tag>
    struct function_type;

Header

    #include <boost/function_types/function_type.hpp>

`Types`

  Component types in form of an MPL - Forward Sequence or another callable, builtin type

`Tag`

  Further properties

`function_type<Types,Tag>::type`

  Synthesized type

Synthesizes a function type from given properties.

If the template parameters do not describe a valid type, any attempt to access the `type` member will result in a compile error.

#### function_pointer

    template<typename Types, typename Tag = null_tag>
    struct function_pointer;

Header

    #include <boost/function_types/function_pointer.hpp>

`Types`

  Component types in form of an MPL - Forward Sequence or another callable, builtin type

`Tag`

  Further properties

`function_pointer<Types,Tag>::type`

  Synthesized type

Synthesizes a function pointer type from given properties.

If the template parameters do not describe a valid type, any attempt to access the `type` member will result in a compile error.

#### function_reference

    template<typename Types, typename Tag = null_tag>
    struct function_reference;

Header

    #include <boost/function_types/function_reference.hpp>

`Types`

  Component types in form of an MPL - Forward Sequence or another callable, builtin type

`Tag`

  Further properties

`function_reference<Types,Tag>::type`

  Synthesized type

Synthesizes a function reference type from given properties.

If the template parameters do not describe a valid type, any attempt to access the `type` member will result in a compile error.

#### member_function_pointer

    template<typename Types, typename Tag = null_tag>
    struct member_function_pointer;

Header

    #include <boost/function_types/member_function_pointer.hpp>

`Types`

  Component types in form of an MPL - Forward Sequence or another callable, builtin type

`Tag`

  Further properties

`member_function_pointer<Types,Tag>::type`

  Synthesized type

Synthesizes a member function pointer type from given properties.

An optional reference or possibly cv-qualified pointer is removed from the second type in the sequence to determine the the class type. The cv-qualification of the resulting type applies to the member function, unless otherwise explicitly specified by the property tag.

If the template parameters do not describe a valid type, any attempt to access the `type` member will result in a compile error.