Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60413 - sandbox/statistics/detail/assign/libs/assign/doc
From: erwann.rogard_at_[hidden]
Date: 2010-03-10 01:07:45


Author: e_r
Date: 2010-03-10 01:07:44 EST (Wed, 10 Mar 2010)
New Revision: 60413
URL: http://svn.boost.org/trac/boost/changeset/60413

Log:
m
Text files modified:
   sandbox/statistics/detail/assign/libs/assign/doc/index.html | 37 +++++++++++++++++++++++++++++++------
   1 files changed, 31 insertions(+), 6 deletions(-)

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-10 01:07:44 EST (Wed, 10 Mar 2010)
@@ -46,6 +46,11 @@
             <li>Function ptr_list_of()
        </ul>
     <li> Design </li>
+ <ul>
+ <li>Proxy objects</li>
+ <li>Auto-size</li>
+ </ul>
+
     <li>
         <a href="#ref-functions">Reference for functions and operators</a>
       <ul>
@@ -723,6 +728,8 @@
 
   <hr>
   <h2><a name="design">Design</a></h2>
+ <h3><a name="proxy-objects">Proxy objects</a></h3>
+
     <p>
   This section explains the way the library is implemented.
   A free-standing function (eg. <code>push_back()</code>
@@ -764,13 +771,27 @@
 <code>tuple_list_of()</code>). One thing to remember is that references
   can be passed by using <code>boost::ref</code>.
   </p>
+
+ <p>
+ The above considerations motivate a reference in two parts, one for the functions and operators,
+ whose usage is the primary interest of a client, and the implementation i.e. the proxy objects,
+ which remain invisible to the client, but are important from a development standpoint.
+ </p>
   
   <p>
- Everything is put in namespace
- <code>boost::assign</code>. </p>
+ The functions, operators and their proxy objects are by defaut in namespace <code>boost::assign</code>.
+ </p>
+
+ <h3><a name="auto_size">Auto-size</a></h3>
 
-According to the above design considerations, the reference is organized into two parts:
-Functions and operators and Proxy objects.
+ <p>Under this framework, a collection of references from passed argument is first aggregated
+ into nested compile time expressions, the last of which is 'dressed' as needed with iterator and
+ conversion operations. This is in contrast to other parts of this library, where the argument is either
+ directly inserted into its destination container or stored in a runtime-fashion. The corresponding functions, however,
+ such as ref_list_of() or ref_csv(),
+ operate under the same principle as those in the rest of this library and are therefore also in <code>boost::assign</code>. The
+ implementation is in <code>boost::assign::detail::auto_size</code>.
+ </p>
 
   <h2>Reference for functions and operators <a name="ref-functions"> </h3>
 
@@ -1941,7 +1962,11 @@
 support better initialization (see [4]).
   </p>
   
- <p> The auto-size framework for building a collection of references whose size is deduced from the input was added in March 2010.</p>
+ <p>
+ The auto-size framework for building a collection of references whose size is deduced at compile time
+ was added in 2010.
+ </p>
+
   <p>
   Special thanks goes to
   <ul>
@@ -1951,7 +1976,7 @@
   <li> Pavel Vozenilek for his countless suggestions, improvements and
        portability fixes.
   <li> Rene Rivera for Code Warrior portability.
- <li> Manuel Peinado Gallego for valuable discussions that led to the auto-size framework.
+ <li> Manuel Peinado Gallego for valuable discussions related to the auto-size framework.
   In particular, he identified the need to distinguish between copy and rebind semantics.
        
        </ul>


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