![]() |
![]() |
![]() |
ostream_iterator es un iterador de salida conectado a un flujo de salida. Este iterador es todavia más simple que el anterior, ya que sólo ha de ocuparse de implementar el constructor y operator=.
template <class T>
class ostream_iterator
{
public:
typedef output_iterator_tag iterator_category;
typedef void value_type;
typedef void difference_type;
typedef void pointer;
typedef void reference;
ostream_iterator(ostream& s) : stream(&s), string(0) {}
ostream_iterator(ostream& s, const char* c):
stream(&s), string(c) {}
ostream_iterator<T>& operator=(const T& value)
{
*stream << value;
if (string) *stream << string;
return *this;
}
ostream_iterator<T>& operator*() { return *this; }
ostream_iterator<T>& operator++() { return *this; }
ostream_iterator<T>& operator++(int) { return *this; }
protected:
ostream* stream;
const char* string;
};
ostream_iterator.