
Shunsuke Sogame wrote:
Hi,
If a pointer container holds noncopyable objects, the iterators seem not to meet ReadableIteratorConcept whose 'value_type' must be CopyConstructible?
From http://www.boost.org/libs/iterator/doc/new-iter-concepts.html#readable-itera... it seems that the iterator type itself must be CC and CA. For a given iterator a, *a must be convertible to iterator_traits<X>::value_type (we'll use T for this below). For pointer containers, this currently poses quite a problem because of its indirected interface: the conversion could succeed if T was defined as iterator_traits<X>::reference, but the ReadableIteratorConcept does not allow T to be a reference type. The only thing I can come up with is that pointer container iterators does not satisfy the ReadableIteratorConcept, but only the ReadableLvalueIteratorConcept. Does that make sense? -Thorsten