Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2004-08-13 02:32:43


"Thorsten Ottosen" <nesotto_at_[hidden]> wrote in message news:cfgf91$2l4$1_at_sea.gmane.org...
| "David Abrahams" <dave_at_[hidden]> wrote in message news:ullgkdxb0.fsf_at_boost-consulting.com...

| |
| | boost::iterators::value<I>::type
| | boost::iterators::reference<I>::type
| |
| | boost::ranges::value<R>::type
| |
| | and so forth?
|
| good idea to rename value_type<I>::type value<T>::type :-)
| I guess we should do that with
|
| range::size<R>::type
| range::difference<R>::type
|
| too.

I'm having second thoughts. It seems a little irritating to specify in a concept that the metafunctions reside in
namespace X.

I guess the issue boils down to these choices:

typename range::value<T>::type
typename range::iterator<T>::type
typename range::const_iterator<T>::type
typename range::difference<T>::type
typename range::size<T>::type
typename range::reverse_iterator<T>::type
typename range::const_reverse_iterator<T>::type
typename range::result_iterator<T>::type
typename range::reverse_result_iterator<T>::type

typename range_value<T>::type
typename range_iterator<T>::type
typename range_const_iterator<T>::type
typename range_difference<T>::type
typename range_size<T>::type
typename range_reverse_iterator<T>::type
typename range_const_reverse_iterator<T>::type
typename range_result_iterator<T>::type
typename range_reverse_result_iterator<T>::type

or with full qualification

typename boost::range::value<T>::type
typename boost::range::iterator<T>::type
typename boost::range::const_iterator<T>::type
typename boost::range::difference<T>::type
typename boost::range::size<T>::type
typename boost::range::reverse_iterator<T>::type
typename boost::range::const_reverse_iterator<T>::type
typename boost::range::result_iterator<T>::type
typename boost::range::reverse_result_iterator<T>::type

typename boost::range_value<T>::type
typename boost::range_iterator<T>::type
typename boost::range_const_iterator<T>::type
typename boost::range_difference<T>::type
typename boost::range_size<T>::type
typename boost::range_reverse_iterator<T>::type
typename boost::range_const_reverse_iterator<T>::type
typename boost::range_result_iterator<T>::type
typename boost::range_reverse_result_iterator<T>::type

I think my personal view would be that I think range_ reads better than range::. Too many :: and it seems a bit confusing.

br

Thorsten


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk