Topic: Container iterator constructor and explicit convertibility
Author: "=?iso-8859-1?B?Sm9hcXXtbiBNIEzzcGV6IE118W96?=" <joaquin@tid.es>
Date: Fri, 16 Dec 2005 09:52:33 CST Raw View
The iterator constructor X(i,j) for containers as defined in 23.1.1 and
23.2.2 does only require that i and j must be input iterators but
nothing is said about their associated value. There are three sensible
options:
1. iterator's value_type is exactly X::value_type (modulo cv).
2. iterator's value_type is *implicitly* convertible to X::value_type.
3. iterator's value_type is *explicitly* convertible to X::value_type.
The issue has practical implications, and stdlib vendors have
taken divergent approaches to it: Dinkumware follows 2,
libstdc++ follows 3.
The problem was already mentioned by Dietmar Kuehl as far
back as 2001 (see http://tinyurl.com/86sbo about at the
end of the message), but I haven't been able to found any
reference to it in the commitee issues list. Does anyone know
what the status of this is?
---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]
Author: howard.hinnant@gmail.com (Howard Hinnant)
Date: Sat, 17 Dec 2005 04:14:41 GMT Raw View
In article <1134737901.692065.312650@o13g2000cwo.googlegroups.com>,
"Joaqu=EDn M L=F3pez Mu=F1oz" <joaquin@tid.es> wrote:
> The iterator constructor X(i,j) for containers as defined in 23.1.1 and
> 23.2.2 does only require that i and j must be input iterators but
> nothing is said about their associated value. There are three sensible
> options:
>=20
> 1. iterator's value_type is exactly X::value_type (modulo cv).
> 2. iterator's value_type is *implicitly* convertible to X::value_type.
> 3. iterator's value_type is *explicitly* convertible to X::value_type.
>=20
> The issue has practical implications, and stdlib vendors have
> taken divergent approaches to it: Dinkumware follows 2,
> libstdc++ follows 3.
>=20
> The problem was already mentioned by Dietmar Kuehl as far
> back as 2001 (see http://tinyurl.com/86sbo about at the
> end of the message), but I haven't been able to found any
> reference to it in the commitee issues list. Does anyone know
> what the status of this is?
To the best of my knowledge this issue has not come before the lwg.
-Howard
---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]