Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-09-13 13:25:17


David Abrahams <dave <at> boost-consulting.com> writes:

>
> "Eric Niebler" <eric <at> boost-consulting.com> writes:

> > I put the using declaration in the requirement because without it, users
> > might rightly wonder how a type such as int[5] could fulfill this
> > particular requirement.
>

> So why not simply document that there exists in namespace
> boost:
>
> template <class T, std::size_t N>
> T* begin(T(&x)[N])
>
> with semantics
>
> return &x[0];
>
> ??

The reference docs state exactly what the functions returns.
In the RC branch, I've added the following line:
   
   boost_range_begin(x) otherwise

> > You're saying a Concept should not describe how it should be
> > satisfied, just how it should be used. Is that right?
>
> It should describe both, but it's okay if the former is not spelled
> out all in one place, and I find the approach I'm suggesting to be
> more understandable than yours.

I like this distinction. What it amounts to is that there might be several
ways to satisfy a concept and that can be explained elsewhere.

-Thorsten


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