
"Thorsten Ottosen" <nesotto@cs.auc.dk> wrote in message news:cfgf91$2l4$1@sea.gmane.org... | "David Abrahams" <dave@boost-consulting.com> wrote in message news:ullgkdxb0.fsf@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