Deferred Callable Object

| Home | Libraries | People | FAQ | More

#### Deferred Callable Object

##### Description

Callable Object types that work with Boost.ResultOf to determine the result of a call.

##### Refinement of

- Callable Object

Notation

`F`

  A possibly const qualified Deferred Callable Object type

`A1 ...AN`

  Argument types

`a1 ...aN`

  Objects or references to objects with types `A1 ...AN`

`T1 ...TN`

  `T`i is `A`i `&` if `a`i is an LValue, same as `A`i, otherwise

##### Expression requirements

Expression | Type
--- | ---
`boost::result_of``< F(T1 ...TN) >::type` | Result of a call with `A1 ...AN`-typed arguments

##### Models

- Polymorphic Function Object types
- member (function or data) pointer types

##### Examples

    & a_free_function
    & a_class::a_static_member_function
    & a_class::a_nonstatic_data_member
    & a_class::a_nonstatic_member_function
    std::less<int>()
    // using namespace boost;
    bind(std::less<int>(), _1, 5)
    // Note: Boost.Lambda expressions don't work with __boost_result_of__
    fusion::make_fused_function_object(std::less<int>())