...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Returns the result type of at_key
[9].
template< typename Seq, typename Key> struct at_key { typedef unspecified type; };
Table 1.33. Parameters
Parameter |
Requirement |
Description |
---|---|---|
|
A model of Associative Sequence |
Argument sequence |
|
Any type |
Key type |
result_of::at_key<Seq, Key>::type
Return type: Any type.
Precondition: has_key<Seq, Key>::type::value == true
(where Seq
is not Unbounded Sequence)
Semantics: Returns the result of using
at_key
to access the element
with key type Key
in
Seq
.
#include <boost/fusion/sequence/intrinsic/at_key.hpp> #include <boost/fusion/include/at_key.hpp>
typedefmap
<pair
<int, char>,pair
<char, char>,pair
<double, char> > mymap; BOOST_MPL_ASSERT((boost::is_same<result_of::at_key
<mymap, int>::type, char&>));
[9]
result_of::at_key
reflects the actual
return type of the function at_key
. Sequence(s)
typically return references to its elements via the at_key
function. If you want
to get the actual element type, use result_of::value_at_key