...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Callable Object types that work with ResultOf utility to determine the result of a call.
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 |
Type |
---|---|
|
Result of a call with |
& 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>())