
Hi Darren Darren Cook ha escrito:
I mentioned before I want to lose one of the "type" words from: index_type<C,T>::type
Yes, me too. I have proposed in a response to Gary Powell an alternative that I like myself:
template<int N> struct nth_index; template<typename Tag> struct index; template<int N> struct nth_index_iterator; template<int N> struct nth_index_const_iterator; template<typename Tag> struct index_iterator; template<typename Tag> struct index_const_iterator;
I currently have (C is indexed_set container type, c is instance of that container, T is index tag): const typename index_type<C,T>::type& myindex=get<T>(c); typename index_type<C,T>::type::const_iterator i=myindex.begin();
Does this become this? const typename index<C,T>& myindex=get<T>(c); typename index_const_iterator<C,T> i=myindex.begin();
Not exactly. It'd be const typename index<C,T>::type& myindex=get<T>(c); typename index_const_iterator<C,T>::type i=myindex.begin(); The "_type" is omitted, but the "::type" cannot be eliminated. BTW, there are alternative wordings to the lines above: const typename C::index<T>::type& myindex=get<T>(c); typename C::index_const_iterator<T>::type i=myindex.begin(); Regards, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo