forked from boostorg/iterator
Readded use_default support.
[SVN r1287]
This commit is contained in:
@@ -74,12 +74,6 @@ namespace boost
|
|||||||
// Generates the corresponding std::iterator specialization
|
// Generates the corresponding std::iterator specialization
|
||||||
// from the given iterator traits type
|
// from the given iterator traits type
|
||||||
//
|
//
|
||||||
// The use_default support is needed for iterator_adaptor.
|
|
||||||
// For practical reasons iterator_adaptor needs to specify
|
|
||||||
// fixed number of template arguments of iterator_facade.
|
|
||||||
// So use_default is its way to say what I really mean
|
|
||||||
// is youre default parameter.
|
|
||||||
//
|
|
||||||
template <class Value, class AccessCategory, class TraversalCategory, class Reference, class Difference>
|
template <class Value, class AccessCategory, class TraversalCategory, class Reference, class Difference>
|
||||||
struct iterator_facade_base
|
struct iterator_facade_base
|
||||||
{
|
{
|
||||||
@@ -92,7 +86,16 @@ namespace boost
|
|||||||
|
|
||||||
, typename const_qualified<Value, AccessCategory>::type*
|
, typename const_qualified<Value, AccessCategory>::type*
|
||||||
|
|
||||||
, Reference
|
// The use_default support is needed for iterator_adaptor.
|
||||||
|
// For practical reasons iterator_adaptor needs to specify
|
||||||
|
// a fixed number of template arguments of iterator_facade.
|
||||||
|
// So use_default is its way to say: "What I really mean
|
||||||
|
// is your default parameter".
|
||||||
|
, typename mpl::if_<
|
||||||
|
is_same<Reference, use_default>
|
||||||
|
, typename const_qualified<Value, AccessCategory>::type&
|
||||||
|
, Reference
|
||||||
|
>::type
|
||||||
>
|
>
|
||||||
type;
|
type;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user