mirror of
https://github.com/boostorg/iterator.git
synced 2025-05-10 07:33:53 +00:00
Made output_proxy private and made its internals private.
This commit is contained in:
parent
cd24487161
commit
ee2d3a6596
@ -19,20 +19,11 @@ namespace iterators {
|
|||||||
|
|
||||||
template <class UnaryFunction>
|
template <class UnaryFunction>
|
||||||
class function_output_iterator {
|
class function_output_iterator {
|
||||||
|
private:
|
||||||
typedef function_output_iterator self;
|
typedef function_output_iterator self;
|
||||||
|
|
||||||
|
class output_proxy {
|
||||||
public:
|
public:
|
||||||
typedef std::output_iterator_tag iterator_category;
|
|
||||||
typedef void value_type;
|
|
||||||
typedef void difference_type;
|
|
||||||
typedef void pointer;
|
|
||||||
typedef void reference;
|
|
||||||
|
|
||||||
explicit function_output_iterator() {}
|
|
||||||
|
|
||||||
explicit function_output_iterator(const UnaryFunction& f)
|
|
||||||
: m_f(f) {}
|
|
||||||
|
|
||||||
struct output_proxy {
|
|
||||||
explicit output_proxy(UnaryFunction& f) : m_f(f) { }
|
explicit output_proxy(UnaryFunction& f) : m_f(f) { }
|
||||||
|
|
||||||
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
@ -47,11 +38,26 @@ namespace iterators {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
private:
|
||||||
UnaryFunction& m_f;
|
UnaryFunction& m_f;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef std::output_iterator_tag iterator_category;
|
||||||
|
typedef void value_type;
|
||||||
|
typedef void difference_type;
|
||||||
|
typedef void pointer;
|
||||||
|
typedef void reference;
|
||||||
|
|
||||||
|
explicit function_output_iterator() {}
|
||||||
|
|
||||||
|
explicit function_output_iterator(const UnaryFunction& f)
|
||||||
|
: m_f(f) {}
|
||||||
|
|
||||||
output_proxy operator*() { return output_proxy(m_f); }
|
output_proxy operator*() { return output_proxy(m_f); }
|
||||||
self& operator++() { return *this; }
|
self& operator++() { return *this; }
|
||||||
self& operator++(int) { return *this; }
|
self& operator++(int) { return *this; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UnaryFunction m_f;
|
UnaryFunction m_f;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user