diff --git a/include/boost/concept_archetype.hpp b/include/boost/concept_archetype.hpp index bd57d97..8cf2dc5 100644 --- a/include/boost/concept_archetype.hpp +++ b/include/boost/concept_archetype.hpp @@ -422,6 +422,8 @@ namespace boost { }; typedef const T* pointer; typedef std::ptrdiff_t difference_type; + input_iterator_archetype() { } + input_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -441,6 +443,8 @@ namespace boost { typedef const T& reference; typedef const T* pointer; typedef std::ptrdiff_t difference_type; + input_iterator_archetype_no_proxy() { } + input_iterator_archetype_no_proxy(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -493,6 +497,7 @@ namespace boost { typedef const T* pointer; typedef std::ptrdiff_t difference_type; input_output_iterator_archetype() { } + input_output_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -513,6 +518,7 @@ namespace boost { typedef T const* pointer; typedef std::ptrdiff_t difference_type; forward_iterator_archetype() { } + forward_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -533,6 +539,7 @@ namespace boost { typedef T* pointer; typedef std::ptrdiff_t difference_type; mutable_forward_iterator_archetype() { } + mutable_forward_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -553,6 +560,7 @@ namespace boost { typedef T* pointer; typedef std::ptrdiff_t difference_type; bidirectional_iterator_archetype() { } + bidirectional_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -575,6 +583,7 @@ namespace boost { typedef T* pointer; typedef std::ptrdiff_t difference_type; mutable_bidirectional_iterator_archetype() { } + mutable_bidirectional_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -597,6 +606,7 @@ namespace boost { typedef T* pointer; typedef std::ptrdiff_t difference_type; random_access_iterator_archetype() { } + random_access_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } @@ -637,6 +647,7 @@ namespace boost { typedef T* pointer; typedef std::ptrdiff_t difference_type; mutable_random_access_iterator_archetype() { } + mutable_random_access_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; }