Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60406 - in sandbox/statistics/detail/assign: boost/assign/auto_size/detail libs/assign/doc
From: erwann.rogard_at_[hidden]
Date: 2010-03-09 23:44:29


Author: e_r
Date: 2010-03-09 23:44:28 EST (Tue, 09 Mar 2010)
New Revision: 60406
URL: http://svn.boost.org/trac/boost/changeset/60406

Log:
m
Text files modified:
   sandbox/statistics/detail/assign/boost/assign/auto_size/detail/csv.hpp | 7 +++----
   sandbox/statistics/detail/assign/libs/assign/doc/index.html | 20 +++++++++++++-------
   2 files changed, 16 insertions(+), 11 deletions(-)

Modified: sandbox/statistics/detail/assign/boost/assign/auto_size/detail/csv.hpp
==============================================================================
--- sandbox/statistics/detail/assign/boost/assign/auto_size/detail/csv.hpp (original)
+++ sandbox/statistics/detail/assign/boost/assign/auto_size/detail/csv.hpp 2010-03-09 23:44:28 EST (Tue, 09 Mar 2010)
@@ -32,10 +32,9 @@
 // fun(a1,..,.ai) r<T,i,P0>
 // cfun(a1,..,.ai) r<const T,i,P0>
 //
-// Note : for performance, it is critical that the collection builder,
-// auto_size::expr<> be used only during construction of the result, not as
-// part of the result itself. In designing a custom policy, look first at how
-// the default hanldes this.
+// Note : It is critical that the collection builder auto_size::expr<> be used
+// only during construction of the result, not as part of the result itself.
+// Keep this in mind in designing a custom policy.
 
 #ifndef BOOST_ASSIGN_CSV_SIZE
 #define BOOST_ASSIGN_CSV_SIZE 20

Modified: sandbox/statistics/detail/assign/libs/assign/doc/index.html
==============================================================================
--- sandbox/statistics/detail/assign/libs/assign/doc/index.html (original)
+++ sandbox/statistics/detail/assign/libs/assign/doc/index.html 2010-03-09 23:44:28 EST (Tue, 09 Mar 2010)
@@ -1571,15 +1571,21 @@
 <span class=special>} </span><span class=comment>// namespace 'boost'</span></pre></blockquote>
 
     <p>
- <b>Issues</b>
+ <b>Design</b>
   </p>
 <p>
- The purpose of the 'auto-size' the framework is to be able to deduce at compile time the number of arguments in the collection,
- which is correctly achieved for successive calls to the unary operator of <code>auto_size::expr&lt;&gt;</code>. That is not the case, however,
- for the member function <code>range()</code> (unless the argument has a static size). While this function is nonetheless provided to attain AMAP
- conformity with the rest of the <a href="http://www.boost.org/doc/libs/1_42_0/libs/assign/index.html">Boost.Assign<a> library, it might be more flexible,
- in the future, to separate the tools that create collection from individual elements, from those that concatenate collections. It would still be possible,
- as a convenience, to have <code>auto_size::expr&lt;&gt;</code> expose a member function <code>concat()</code>, that forwards to the relevant tool.
+ Each call to the unary operator returns an object that keeps a reference to the new argument,
+ and links to the current object, thereby forming a collection. The function <code>write_to_array</code>
+ passes the elements of the collection to any array.
+</p>
+<p>
+ Naturally, this requires that the arguments be allocated on the stack. Consequently, this set up is
+ ill-suited for the method <code>range()</code> whose size, in this case, must be specified explictly.
+ It would be more sensible, in the future, to separate the tools that create a collection from individual
+ elements, from those that concatenate collections. It would still be possible,
+ as a convenience, to have <code>auto_size::expr&lt;&gt;</code> expose a member function <code>concat()</code>,
+ that would return a concatenator.
+
 </p>
   <h3><a name="ref-lazy_array">Proxy object <code>lazy_array&lt;&gt;</code></a></h3>
   <b>Header</b> <code>&lt;boost/assign/auto_size/array/lazy.hpp></code>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk