<<<<<<< .working ======= <<<<<<< .working >>>>>>> .merge-right.r57125 ======= >>>>>>> .merge-right.r58299
Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
<<<<<<< .working

deref

Description
=======
Description
>>>>>>> .merge-right.r57125

Returns the type that will be returned by dereferencing an iterator.

<<<<<<< .working
Synposis
=======
Synposis
>>>>>>> .merge-right.r57125
template<
    typename I
    >
struct deref
{
    typedef unspecified type;
};
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working

Table 1.12. Parameters

=======

Table 1.12. Parameters

=======

Table 1.13. Parameters

=======

Table 1.13. Parameters

=======

Table 1.13. Parameters

=======

Table 1.13. Parameters

=======

Table 1.13. Parameters

>>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242
>>>>>>> .merge-right.r57125

Parameter

Requirement

Description

I

Model of Forward Iterator

Operation's argument

<<<<<<< .working
Expression =======
Expression >>>>>>> .merge-right.r57125 Semantics
result_of::deref<I>::type

Return type: Any type

Semantics: Returns the result of dereferencing an iterator of type I.

<<<<<<< .working
Header
=======
Header
>>>>>>> .merge-right.r57125
#include <boost/fusion/iterator/deref.hpp>
#include <boost/fusion/include/deref.hpp>
<<<<<<< .working
Example
typedef vector<int,int&> vec;
=======
Example
typedef vector<int,int&> vec;
>>>>>>> .merge-right.r57125
typedef const vec const_vec;
typedef result_of::begin<vec>::type first;
typedef result_of::next<first>::type second;

typedef result_of::begin<const_vec>::type const_first;
typedef result_of::next<const_first>::type const_second;

BOOST_MPL_ASSERT((boost::is_same<result_of::deref<first>::type, int&>));
BOOST_MPL_ASSERT((boost::is_same<result_of::deref<second>::type, int&>));

PrevUpHomeNext