| Home | Libraries | People | FAQ | More

#### Deferred Callable Object

###### Description

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

###### Refinement of

- Callable Object

note Once C++ supports the `decltype` keyword, all models of Callable Object will also be models of Deferred Callable Object, because function objects won't need client-side support for `result_of`.

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>())