output_iterator_helper changes: removed default template parameters, added

support for self-proxying, additional documentation and tests (Aleksey Gurtovoy)


[SVN r10576]
This commit is contained in:
Dave Abrahams 2001-07-09 23:51:49 +00:00
parent 64cc0daf34
commit 9f3104166f

View File

@ -9,6 +9,9 @@
// See http://www.boost.org for most recent version including documentation. // See http://www.boost.org for most recent version including documentation.
// Revision History // Revision History
// 25 Jun 01 output_iterator_helper changes: removed default template
// parameters, added support for self-proxying, additional
// documentation and tests (Aleksey Gurtovoy)
// 29 May 01 Added operator classes for << and >>. Added input and output // 29 May 01 Added operator classes for << and >>. Added input and output
// iterator helper classes. Added classes to connect equality and // iterator helper classes. Added classes to connect equality and
// relational operators. Added classes for groups of related // relational operators. Added classes for groups of related
@ -701,17 +704,17 @@ struct input_iterator_helper
, dereferenceable<T, P , dereferenceable<T, P
, boost::iterator<std::input_iterator_tag, V, D, P, R , boost::iterator<std::input_iterator_tag, V, D, P, R
> > > > {}; > > > > {};
#ifndef BOOST_MSVC
template <class T, template<class Derived>
class V = void,
class D = void,
class P = void,
class R = void>
struct output_iterator_helper struct output_iterator_helper
: incrementable<T : boost::incrementable<Derived
, boost::iterator<std::output_iterator_tag, V, D, P, R , boost::iterator<std::output_iterator_tag, void, void, void, void
> > {}; > >
#endif {
Derived& operator*() { return static_cast<Derived&>(*this); }
Derived& operator++() { return static_cast<Derived&>(*this); }
};
template <class T, template <class T,
class V, class V,
class D = std::ptrdiff_t, class D = std::ptrdiff_t,