Boost logo

Boost :

From: Pavol Droba (droba_at_[hidden])
Date: 2004-05-07 02:47:49


On Fri, May 07, 2004 at 09:59:44AM +0200, John Torjo wrote:
> David Abrahams wrote:
>
> >John Torjo <john.lists_at_[hidden]> writes:
> >
> >
> >
> >>>Let's assume this library is to be called Range Traits with
> >>>RangeConcept, ExternalRangeConcept and,
> >>>ExternalReversibleRangeConcept, can John/Mathew then find a
> >>>reasonable name for their concept:
> >>>
> >>>
> >
> >I'm afraid I'm going to object to any name of the form "XXX traits"
> >for this library unless it consists entirely of metafunctions. If
> >not, can we just call it the Range library and leave it at that?
> >
> >
> >
> IMO Range library is a too general name, since this is actually just a
> tool to find the metadata (traits) about a range. (In other words, how
> will Matt and me call our library? ;) )
> And we can think of end(),begin(),... functions as some helpers built on
> top of the library.
>
> Still, I'm ok with it if this will be the general oppinion.
>
> Also, another suggestion:
>
> How about a range_traits class:
>
> template<class C> struct range_traits {
> typedef typename iterator_of<C>::type iterator;
> typedef typename const_iterator_of<C>::type iterator;
> ...etc
> };
>
> It seems to me it provides a more unified of finding metadata about a
> range (and it's a traits class ;))
> Has this been suggested already?

There was a long discussion about this issue some time ago. Monolitic
class is not an acceptable solution, due to several reasons.

Regards,

Pavol


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