
Why is operator | used at all, if there are two separate functions? It doesn't look compelling to me and I'm perfectly fine with separating my statements, one for the assign part and one for the for_each part. In fact, the first example from the documentation would benefit from doing that, since it would be much more readable.
cal | do_csv_put<2>( "jan", 31, "feb", 28, "mar", 31 ); boost::for_each(cal, long-lambda-expression..)
v2 doesn't stop you from separating your statements like this: csv_put( cal, "jan", 31, "feb", 28, "mar", 31 ); boost::for_each(cal, long-lambda-expression..); You may ignore operator| altogether, but since it achieves something comparable (not identical) to boost adaptors, which also use the operator| syntax, it enhances coherence.
Additional features include:
Options for overriding default semantics, and macros to create custom options
What are the default semantics?
Please do a search for semantics in the tutorial: https://svn.boost.org/svn/boost/sandbox/assign_v2/libs/assign/v2/doc/html/bo...
A functor analogue of csv_put, put, for constructing a sequence of elements from variadic argument lists Two functions, csv_deque<> and deque<>, which are the analogues of those just described, but which generate a container.
You lost me here. I needed to read those sentences a few time before I think I understand what you mean.
Indeed, the intro merly skims the surface...
Chaining ranges, with special consideration for those created using the ref functionalty (below)
I don't know what the docs are talking about at this point. Chaining ranges in the assign library? That sounds to the uneducated mind like a job for boost.range
It probably straddles both. As stated above, it adresses a particular need that arises from using csv_array. Please see the tutorial under Reference Array and Chaining.
Conversion from ranges to containers
This sentence doesn't make sence to me. std::container(range.begin(), range.end()) is supported by all containers.
Please see Conversion in the tutorial. The first sentence gives it away: This section deals with conversion from a Range to collections of elements that need not (but may) support iterators.
A framework, whose identifiers are in namespace ref, for generating an array of reference wrappers, for short, a reference-array.
I do not understand this part. What kind of container are we attempting to populate here?
Please see the tutorial under Reference Array.