//
template<typename OutputIterator, typename Char>
struct case_converting_iterator
- : std::iterator<std::output_iterator_tag, Char, void, void, case_converting_iterator<OutputIterator, Char> >
{
+ typedef std::output_iterator_tag iterator_category;
+ typedef Char value_type;
+ typedef void difference_type;
+ typedef void pointer;
+ typedef case_converting_iterator<OutputIterator, Char> reference;
+
case_converting_iterator(OutputIterator const &out, traits<Char> const *tr)
: out_(out)
, traits_(tr)
//
template<typename Char>
struct noop_output_iterator
- : std::iterator<std::output_iterator_tag, Char, void, void, noop_output_iterator<Char> >
{
+ typedef std::output_iterator_tag iterator_category;
+ typedef Char value_type;
+ typedef void difference_type;
+ typedef void pointer;
+ typedef noop_output_iterator<Char> reference;
+
noop_output_iterator &operator ++()
{
return *this;