Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2004-09-03 14:56:45

"David Abrahams" <dave_at_[hidden]> wrote in message
| Thorsten Ottosen <nesotto_at_[hidden]> writes:

| > | No, you have to say boost::range::begin(col). Otherwise they could
| > | make a.begin() valid but begin(a) invalid, and that would break
| > | boost::range::begin.
| >
| > I don't like this circular dependency on the concepts: Range has a special meaning
| > if the argument is a Collection
| ?? special meaning ??

You have to be more explicit if I should have a chance understanding what you're saying.
Please make a full example of how you want to document eg. Single Pass Range.

| > | What do primary templates have to do with this?
| >
| > it is the behavior of the primary template that makes coillections act as Ranges.
| What primary template?

all. primary function templates and primary metafunctions. they all assume a Collection argument.

| > boost\libs\range\doc\external_concepts.html
| >
| > described the idea of external and internal versions of concept, roughly correponding to
| > whether functions are free-standing or members.
| Eeew!

you probably glad I gave up the idea then.

| > In that terminology, we could say
| >
| > 1. Collection would be a refinement of InternalRange
| > 2. ExternalRange will, by definition, work with all corresponding InternalRange
| Except that if it relies on ADL, it's not "by definition" because an
| unrelated begin() with the wrong semantics could be defined.

true. currently there is no use of ADL.


Boost list run by bdawes at, gregod at, cpdaniel at, john at