Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

const Ranges

range_reference<const Range>::type is defined by the following algorithm. Let Range be any type listed above and Ref be the same as range_reference<Range>::type.

if (Range is CObArray || Range is CObList)
    return CObject const * &
else if (Range is CPtrArray || Range is CPtrList)
    return void const * &
else if (there is a type X such that X& is the same as Ref)
    return X const &
else if (there is a type X such that X* const is the same as Ref)
    return X const * const
else
    return Ref

Other Boost.Range metafunctions are defined by the following.

Range metafunction

Result

range_value<const Range>::type

range_value<Range>::type

range_difference<const Range>::type

std::ptrdiff_t

range_pointer<const Range>::type

add_pointer<remove_reference<range_reference<const Range>::type>::type>::type


PrevUpHomeNext