Readded use_default support.

[SVN r1287]
This commit is contained in:
Thomas Witt
2003-05-29 17:10:33 +00:00
parent 438334584c
commit 8da33f502f

View File

@@ -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*
// 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 , Reference
>::type
> >
type; type;
}; };