Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Deferred Callable Object

Description

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

Refinement of

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

Ti is Ai & if ai is an LValue, same as Ai, otherwise

Expression requirements

Expression

Type

boost::result_of< F(T1 ...TN) >::type

Result of a call with A1 ...AN-typed arguments

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

PrevUpHomeNext