Boost logo

Boost :

Subject: Re: [boost] [mini-review] Update of Boost.Assign (13th-19th of June)
From: er (erwann.rogard_at_[hidden])
Date: 2010-06-15 21:08:07


>
> I'm curious: we have three list_of functions (list_of, ref_list_of and
> cref_list_of) but only two of them have analogous csv functions (ref_csv
> and cref_csv). Why is there no simple csv function, taking arguments by
> value?
>
> John Bytheway
>

You are right that csv is a new interface and it seems logical that it
should be available for passing arguments by value.

I guess it wouldn't be an insurmountable task to overload csv() on the
number of arguments, internally calling list_of(), and returning its
results. That's approximately how ref_csv() and ref_list_of() relate to
each other.

What is complicating things, however, is that list_of() itself is
overloaded on the number of arguments.
    list_of<T>(x,y)(z,w)
creates an anonymous list of elements created like this : T(x,y) and T(z,w).

If you want to achieve the same thing with cref_csv, you have to do:
     cref_csv(T(x,y),T(z,w))


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