From b4d624d61f66ea9272a906931707f1255ff183d7 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Tue, 13 Jan 2004 18:05:44 +0000 Subject: [PATCH] added the no_proxy version of input_iterator [SVN r21684] --- include/boost/concept_archetype.hpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/include/boost/concept_archetype.hpp b/include/boost/concept_archetype.hpp index d137cc0..eadaa59 100644 --- a/include/boost/concept_archetype.hpp +++ b/include/boost/concept_archetype.hpp @@ -425,7 +425,27 @@ namespace boost { self operator++(int) { return *this; } }; - template + template + class input_iterator_archetype_no_proxy + { + private: + typedef input_iterator_archetype_no_proxy self; + public: + typedef std::input_iterator_tag iterator_category; + typedef T value_type; + typedef const T& reference; + typedef const T* pointer; + typedef std::ptrdiff_t difference_type; + input_iterator_archetype_no_proxy() { } + self& operator=(const self&) { return *this; } + bool operator==(const self&) const { return true; } + bool operator!=(const self&) const { return true; } + reference operator*() const { return static_object::get(); } + self& operator++() { return *this; } + self operator++(int) { return *this; } + }; + + template struct output_proxy { output_proxy& operator=(const T&) { return *this; } };