Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72526 - in sandbox/assign_v2/libs/assign/v2/doc_copy: . html html/boost_assign_v2 html/boost_assign_v2/apx html/boost_assign_v2/reference src src/images src/images/callouts
From: erwann.rogard_at_[hidden]
Date: 2011-06-09 17:39:58


Author: e_r
Date: 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
New Revision: 72526
URL: http://svn.boost.org/trac/boost/changeset/72526

Log:
upd assign_v2
Added:
   sandbox/assign_v2/libs/assign/v2/doc_copy/
   sandbox/assign_v2/libs/assign/v2/doc_copy/Jamfile.v2 (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/boost_assign_v2.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/boostbook.css (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/chain.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/change_log.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/config.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/containers.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/conv.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/conversion.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/csv.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/deque.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/change_log.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/cont.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/conv.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/perf.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/port.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/support.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/org.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/conversion.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/deque.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/include.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/interpreter.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/option.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/put.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/ref.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/support.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/tut.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2_HTML.manifest (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/html/index.html (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/include.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/interpreter.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/option.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/option_data.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/option_modifier.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/org.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/perf.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/pipe.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/port.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/put.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/ref.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/boost.xml (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/boostbook.css (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/docutils.css (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/alert.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/blank.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/1.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/10.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/11.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/12.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/13.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/14.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/15.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/2.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/3.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/4.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/5.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/6.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/7.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/8.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/9.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/caution.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/draft.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/home.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/important.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/next.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/next_disabled.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/note.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/prev.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/prev_disabled.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/smiley.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/tip.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/toc-blank.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/toc-minus.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/toc-plus.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/up.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/up_disabled.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/warning.png (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/minimal.css (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/src/reference.css (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/support_keyword.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/support_traits.qbk (contents, props changed)
   sandbox/assign_v2/libs/assign/v2/doc_copy/tut.qbk (contents, props changed)

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/Jamfile.v2 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,23 @@
+
+import boostbook : boostbook ;
+using quickbook ;
+
+#doxygen ref
+# :
+ #[ glob ../../../../boost/assign/v2/*.hpp ]
+# :
+# <doxygen:param>EXPAND_ONLY_PREDEF=YES
+# <doxygen:param>GENERATE_TAGFILE=ref.tag
+# ;
+
+boostbook boost_assign_v2
+ :
+ boost_assign_v2.qbk
+ :
+ #<dependency>ref
+ <xsl:param>boost.max.id.length=1024
+ <xsl:param>toc.max.depth=4
+ <xsl:param>toc.section.depth=4
+ <xsl:param>chunk.section.depth=2
+ <xsl:param>html.stylesheet="../boostbook.css"
+ ;

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/boost_assign_v2.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/boost_assign_v2.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,438 @@
+[library Boost.Assign
+ [quickbook 1.5]
+ [version 2.0]
+ [authors [Thorsten, Ottosen],[Rogard, Erwann]]
+ [copyright 2003-2004 Thorsten Ottosen, 2011 Erwann Rogard]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ [@http://www.boost.org/LICENSE_1_0.txt])
+ ]
+ [id boost_assign_v2]
+]
+
+[/Support]
+
+[def __TO__ [@http://www.boost.org/users/people/thorsten_ottosen.html TO]]
+[def __ER__ [@mailto:erDOTciDOT2020ATgmailDOTcom ER]]
+
+[template tpl_user_mailing_list[var] [@http://www.boost.org/community/groups.html#users [var]]]
+[def __user_mailing_list__ [tpl_user_mailing_list Boost Users Mailing List]]
+[def __url_boost_assign_v2_mini_review__ [@http://lists.boost.org/Archives/boost/2010/06/168028.php mini-review]]
+
+[/ C++ ]
+
+[def __cpp03__ C++03]
+[def __cpp0x__ C++0x]
+[template tpl_cpp03[var] [@http://efnetcpp.org/wiki/ISO/IEC_14882 [var]]]
+[template tpl_cpp0x[var] [@http://www2.research.att.com/~bs/C++0xFAQ.html [var]]]
+[def __url_cpp03__ [tpl_cpp03 __cpp03__]]
+[def __url_cpp0x__ [tpl_cpp0x __cpp0x__]]
+
+[/ Platform]
+
+[def __mac_os__ OS X 10.6.5]
+[def __mac_default_compiler__ gcc4.2]
+[def __mac_processor__ 2.4 Ghz Intel Core 2 Duo]
+[def __mac_mem__ 4GB 1067 Mhz DDR3]
+[def __fink__ Fink]
+[template tpl_fink[var] [@http://www.finkproject.org/ [var]]]
+[def __url_fink__ [tpl_fink __fink__]]
+
+[/ Libraries ]
+
+[def __callout__ [@http://www.boost.org/doc/libs/1_45_0/doc/html/quickbook/syntax.html#quickbook.syntax.phrase.anchors callout]]
+
+[def __boost_assign_v1__ Boost.Assign (1.0)]
+[template tpl_boost_assign_v1[var] [@../../../../../libs/assign/doc/index.html [var]]]
+[def __url_boost_assign_v1__ [tpl_boost_assign_v1 __boost_assign_v1__]]
+
+[def __boost_assign_v2__ Boost.Assign 2.0]
+[template tpl_boost_assign_v2[var] [@./index.html [var]]]
+[def __url_boost_assign_v2__ [tpl_boost_assign_v2 __boost_assign_v2__]]
+
+[def __boost__ Boost]
+[template tpl_boost[var] [@http://www.boost.org [var]]]
+[def __url_boost__ [tpl_boost __boost__]]
+
+[template tpl_boost_array[var] [@http://www.boost.org/doc/libs/release/doc/html/array.html [var]]]
+[template tpl_multi_array[var] [@http://www.boost.org/doc/libs/release/doc/html/multi_array.html [var]]]
+
+[template tpl_mpl[var] [@http://www.boost.org/libs/mpl/index.html [var]]]
+[def __mpl__ [tpl_mpl MPL]]
+
+[template tpl_stl[var] [@http://en.wikipedia.org/wiki/Standard_Template_Library [var]]]
+[def __stl__ [tpl_stl STL]]
+
+[template tpl_stl_assoc[var] [@http://www.sgi.com/tech/stl/AssociativeContainer.html [var]]]
+[template tpl_stl_seq[var] [@http://www.sgi.com/tech/stl/Sequence.html [var]]]
+[template tpl_stl_adapter[var] [@http://msdn.microsoft.com/en-us/library/1fe2x6kt(v=vs.80).aspx [var]]]
+[template tpl_stl_deque[var] [@http://www.sgi.com/tech/stl/Deque.html [var]]]
+[template tpl_stl_cont[var] [@http://www.sgi.com/tech/stl/Container.html [var]]]
+
+[template tpl_lambda[var] [@http://www.boost.org/doc/libs/release/doc/html/lambda.html [var]]]
+[def __lambda__ [tpl_lambda lambda]]
+
+[template tpl_ptr_container[var] [@http://www.boost.org/doc/libs/release/libs/ptr_container/doc/ptr_container.html [var]]]
+
+[template tpl_range[var] [@http://www.boost.org/doc/libs/release/libs/range/index.html [var]]]
+[template tpl_range_adaptor[var] [@http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html [var]]]
+[template tpl_range_adaptor_compose[var] [@http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors/introduction.html#range.reference.adaptors.introduction.composition_of_adaptors [var]]]
+[template tpl_range_algo[var] [@http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/algorithms.html [var]]]
+[template tpl_range_join[var] [@http://svn.boost.org/svn/boost/trunk/boost/range/join.hpp [var]]]
+[template tpl_itr[var] [@http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/utilities/iterator_range.html [var]]]
+
+[template tpl_operators[var] [@http://www.boost.org/doc/libs/release/libs/utility/operators.htm [var]]]
+[template tpl_boost_typeof[var] [@http://www.boost.org/doc/libs/1_35_0/doc/html/typeof.html [var]]]
+
+[/Concepts]
+
+[template tpl_meta_fun[var] [@http://svn.boost.org/svn/boost/trunk/libs/mpl/doc/refmanual/metafunction.html [var]]]
+[template tpl_meta_fun_class[var] [@http://svn.boost.org/svn/boost/trunk/libs/mpl/doc/refmanual/metafunction-class.html [var]]]
+[template tpl_concept_range[var] [@http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/concepts/overview.html [var]]]
+[template tpl_crtp[var] [@http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern [var]]]
+[template tpl_class_tpl[var] [@http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Fclass_templates.htm [var]]]
+[template tpl_pipe[var] [@http://en.wikipedia.org/wiki/Vertical_bar#Pipe [var]]]
+
+[/Files]
+
+[template tpl_boost_trunk [var] [@http://svn.boost.org/svn/boost/trunk [var]]]
+[def __boost_trunk__ [tpl_boost_trunk [^boost-trunk]]]
+
+[template tpl_boost_type [var] [@http://svn.boost.org/svn/boost/trunk/boost/type.hpp [var]]]
+[def __boost_type__ [@http://svn.boost.org/svn/boost/trunk/boost/type.hpp boost::type]]
+
+[template tpl_dir_boost_assign_v2[var] [@../../../../../boost/assign/v2 [var]]]
+[def __dir_boost_assign_v2__ [tpl_dir_boost_assign_v2 boost/assign/v2]]
+
+[template tpl_dir_libs_assign_v2[var] [@../../ [var]]]
+[def __dir_libs_assign_v2__ [tpl_dir_libs_assign_v2 libs/assign/v2]]
+
+[template tpl_dir_libs_assign_v2_example [var] [@../../example [var]]]
+[def __dir_libs_assign_v2_example__ [tpl_dir_libs_assign_v2_example libs/assign/v2/example]]
+
+[template tpl_test[var] [@../../test/ [var]] ]
+[template tpl_run_eff[var] [@../../speed/results [var]] ]
+
+[/ Templates]
+
+[template tpl_join[a b][a][b]]
+[template tpl_typeof[object][tpl_join [object]..__type_ext__]]
+[template tpl_seq[index first last] [index] = [first], ..., [last]]
+[template tpl_sub[var index] [var]\[[index]\] ]
+[template tpl_sub_sub[var index1 index2] [var]\[[index1],[index2]\]]
+[template tpl_module[HEADER DESCRIPTION]
+
+[heading Header]
+[HEADER]
+
+[heading Description]
+[DESCRIPTION]
+
+]
+[template tpl_feature[HEADER DESCRIPTION SYNTAX EXAMPLE]
+
+[heading Header]
+[HEADER]
+
+[heading Description]
+[DESCRIPTION]
+
+[heading Synopsis]
+[SYNTAX]
+
+[heading Example]
+[EXAMPLE]
+
+]
+
+[template tpl_feature_sem[HEADER DESCRIPTION SYNTAX SEMANTICS EXAMPLE]
+
+[heading Header]
+[HEADER]
+
+[heading Description]
+[DESCRIPTION]
+
+[heading Synopsis]
+[SYNTAX]
+
+[heading Semantics]
+[SEMANTICS]
+
+[heading Example]
+[EXAMPLE]
+
+]
+
+[/Internal]
+
+[def __arg__ arg]
+[def __argn__ argn]
+[def __args__ args...]
+[def __args1__ args1...]
+[def __argsn__ argsn...]
+[def __ellipsis__ ...]
+[def __array__ ar]
+[def __array_type__ Ar]
+[def __cont__ cont]
+[def __cont_type__ C]
+[def __csv_form__ The csv-form designates a syntax that is dual to a functor, that is charaterized
+ by an arity parameter, [^I].
+ One invocation of the csv-form with an argument list of size [^Ixn] is equivalent
+ to [^n] invocations of the functor, each with I arguments. This form has two
+ variants : basic (size equals one) and extended (size is specified by an integer
+ template parameter).
+ ]
+[def __csv_form_basic__ The basic version of the csv-form assumes an arity of one, I = 1]
+[def __csv_form_ext__ In the extended version of the csv-form, arity I is specified by an integer template parameter]
+[def __dev_only__ End-users may wish to skip this part. ]
+[def __describe_chain__ Chains two ranges, with particular attention to reference arrays]
+[def __describe_alt_syntax__ Alternative syntax]
+[def __describe_options__ List of options. The special case [^m = 0] means an empty list]
+[def __element_type__ E]
+[def __explicit_header__ This header has to be explicitly included]
+[def __f__ f]
+[def __f_type__ F]
+[def __functor_form__ Functor form]
+[def __fun_as_arg_list__ as_arg_list]
+[def __fun_convert__ convert]
+[def __fun_converter__ converter]
+[def __fun_constructor__ constructor]
+[def __fun_convert__ convert]
+[def __fun_csv__ csv]
+[def __fun_csv_deque__ csv_deque]
+[def __fun_csv_put__ csv_put]
+[def __fun_deque__ deque]
+[def __fun_do_csv_put__ do_csv_put]
+[def __fun_do_put__ do_put]
+[def __fun_new__ new_ptr]
+[def __fun_ref_array__ ref::array]
+[def __fun_ref_csv_array__ ref::csv_array]
+[def __fun_put__ put]
+[def __generate__ generate]
+[def __invoke_options__ % option1 ... % optionm]
+[def __compose_options__ option1 % ... % optionm]
+[def __interpreter__ interpreter]
+[def __key__ k]
+[def __key_type__ K]
+[def __kwd_chain__ _chain]
+[def __kwd_data__ _data]
+[def __kwd_element__ _element]
+[def __kwd_ref_get__ ref::_get]
+[def __kwd_identity__ _identity]
+[def __kwd_insert__ _insert]
+[def __kwd_iterate__ _iterate]
+[def __kwd_key__ _key]
+[def __kwd_mapped__ _mapped]
+[def __kwd_nil__ _nil]
+[def __kwd_push__ _push]
+[def __kwd_push_back__ _push_back]
+[def __kwd_push_front__ _push_front]
+[def __kwd_put__ _put]
+[def __kwd_option__ _option]
+[def __kwd_repeat__ _repeat]
+[def __kwd_row_major__ _row_major]
+[def __kwd_std_modifier__ _std_modifier]
+[def __kwd_use_default__ _use_default]
+[def __kwd_value__ _value]
+[def __list_options__ o1, ..., om]
+[def __mapped__ d]
+[def __mapped_type__ D]
+[def __modifier_tag__ '''<replaceable>modifier-tag</replaceable>''']
+[def __option_modifier__ option-modifier]
+[def __option_arg__ '''<replaceable>option-arg</replaceable>''']
+[def __modulo__ `operator%`]
+[def __ns_as2__ boost::assign::v2]
+[def __object__ object]
+[def __object_data_generator__ data-generator]
+[def __object_interpreter__ interpreter]
+[def __object_modifier__ modifier]
+[def __option__ option]
+[def __operator_and__ `operator&&`]
+[def __pipe__ `operator|`]
+[def __pipe_form__ Pipe form]
+[def __range__ r]
+[def __range_type__ R]
+[def __ref_wrapper__ w]
+[def __ref_array__ rw]
+[def __unspecified__ '''<replaceable>unspecified</replaceable>''']
+[def __value__ t]
+[def __value_n__ [tpl_join __value__..n]]
+[def __value_type__ T]
+[def __values__ __value__...]
+
+[section:intro Introduction]
+[import ../tutorial.cpp]
+[#intro]
+
+This second version of [tpl_boost_assign_v1 Boost.Assign] is a new design, with optional support for __url_cpp0x__. Its core utility is a
+compact interface for executing the repetitive tasks of assigning or inserting elements in a container, such as follows:
+[test_do_csv_put_map]
+
+This example captures the basic features of this library:
+
+* It maps arguments to a suitable data-element, `p_( k, x )`, and invokes a container's modifier, `insert`. These semantics vary by
+container category.
+* Operator `|` returns the modified container, thereby facilitating integration with [tpl_range_algo range algorithms]. There is
+a function, [link csv_put `__fun_csv_put__`], that achieves the same as above, but without returning the container.
+
+Additional features include:
+
+* [link boost_assign_v2.reference.option Options] for overriding default semantics, and [link option_modifier macros] to create custom options
+* A functor analogue of `__fun_csv_put__`, [link put `__fun_put__`], for constructing a sequence of elements from variadic argument lists
+* Two functions, [link csv_deque `__fun_csv_deque__<>`] and [link deque `deque<>`], which are the analogues of those just described,
+but which generate a container.
+
+Functionality that is adjunct to or independent of what precedes is itemized below:
+
+* [link boost_assign_v2.reference.chain Chaining] ranges, with special consideration for those created using the ['ref] functionalty (below)
+* [link boost_assign_v2.reference.conversion Conversion] from ranges to containers
+* A framework, whose identifiers are in namespace [link boost_assign_v2.reference.ref `ref`], for generating an [tpl_boost_array array]
+of reference wrappers, for short, a ['reference-array].
+
+Functionality is defined in namespace `boost::assign::v2`, thereby avoiding any clash with the prior version
+[footnote Recall that the the [tpl_boost_assign_v1 prior version] is in `boost::assign`. In a project it is more coherent to
+use only one version ].
+
+
+[endsect][/intro]
+
+[def __link_org__ [link boost_assign_v2.org Organization]]
+
+[section:org Organization]
+[include org.qbk]
+[endsect][/org]
+
+[section:tut Tutorial]
+[include tut.qbk]
+[endsect][/tut]
+
+[section:reference Reference]
+
+[heading Conventions]
+
+This reference adheres to conventions laid out [link doc_conv here].
+
+[section:chain Chain]
+[include chain.qbk]
+[endsect][/chain]
+
+[section:conversion Conversion]
+[#conversion]
+[include conversion.qbk]
+[endsect][/conversion]
+
+[section:deque Deque]
+[include deque.qbk]
+[endsect][/deque]
+
+[section:include Include]
+[include include.qbk]
+[endsect][/include]
+
+[section:interpreter Interpreter]
+[include interpreter.qbk]
+[endsect][/ interpreter]
+
+[section:option Option]
+[include option.qbk]
+[endsect][/option]
+
+[section:put Put]
+[include put.qbk]
+[endsect][/put]
+
+[section:ref Ref]
+[include ref.qbk]
+[endsect][/ref]
+
+[section:support Support]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/support.hpp boost/assign/v2/detail/support.hpp]
+ ..Functionality that supports various parts of the library
+]
+
+[section:config Config]
+[include config.qbk]
+[endsect][/config]
+
+[section:keyword Keyword]
+[include support_keyword.qbk]
+[endsect][/keyword]
+
+[section:traits Traits]
+[include support_traits.qbk]
+[endsect][/traits]
+
+[endsect][/ support]
+
+[endsect][/reference]
+
+[section:apx Appendix]
+[section:acknow Acknowledgement]
+
+[heading __boost_assign_v1__]
+
+The idea for an assignment/initialization library is not new. The functionality of this library
+resembles Leor Zolman's STL Container Initialization Library a great deal, but it does not rely on
+string parsing to achieve its goals.
+
+Special thanks to
+
+* Leor Zolman for our many discussion that eventually led to this library.
+* Tom Brinkman for being review manager.
+* Joaquín Muñoz for vc6/vc7 portability.
+* Pavel Vozenilek for his countless suggestions, improvements and portability fixes.
+* Rene Rivera for Code Warrior portability.
+
+The following books have helped or were influential:
+
+* Scott. Meyers, "More Effective C++", Item 7, Addison Wesley, 1996
+* K. Czarnecki and U.W. Eisenecker, "Generative programming", Addison-Wesley, 2000
+* [@http://www.oonumerics.org/blitz/ Blitz]
+* Gabriel Dos Reis and Bjarne Stroustrup,
+ [@http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1509.pdf Generalized Initializer Lists], 2003
+
+
+[heading __boost_assign_v2__ ]
+
+Evidently, __boost_assign_v2__ owes much to __boost_assign_v1__, but it is also influenced by [tpl_range Boost.Range] ([link chain chaining] and piping).
+
+Special thanks to
+
+* Manuel Peinado Gallego whose [@http://gist.github.com/287791 work] and discussions have
+inspired the changes proposed in the __url_boost_assign_v2_mini_review__.
+* Thorsten Ottosen and John Bytheway have shaped this new version of the library and its documentation, through their feedback as review managers of the
+__url_boost_assign_v2_mini_review__ and the main review, respectively.
+
+The following books have helped or were influential:
+
+* Abrahams, David and Gurtovoy, Aleksey,
+ [@http://portal.acm.org/citation.cfm?id=1044941# C++ Template Metaprogramming]: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series),
+ 2004, Addison-Wesley Professional.
+
+[endsect][/ history_ano]
+[section:change_log Change_log]
+[include change_log.qbk]
+[endsect][/change_log]
+[section:cont Containers]
+[include containers.qbk]
+[endsect][/endsect]
+[section:conv Doc conventions]
+[include conv.qbk]
+[endsect][/conv]
+[section:perf Performance]
+[include perf.qbk]
+[endsect][/perf]
+[section:port Portability]
+[include port.qbk]
+[endsect][/port]
+[section:support Support]
+
+To get help or make a suggestion, post to the __user_mailing_list__, making sure to notify
+__TO__ and __ER__ by cc-ing them.
+
+[endsect][/support]
+[endsect][/apx]
\ No newline at end of file

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/boostbook.css
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/boostbook.css 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,538 @@
+/*=============================================================================
+ Copyright (c) 2004 Joel de Guzman
+ http://spirit.sourceforge.net/
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/*=============================================================================
+ Body defaults
+=============================================================================*/
+
+ body
+ {
+ margin: 1em;
+ font-family: sans-serif;
+ }
+
+/*=============================================================================
+ Paragraphs
+=============================================================================*/
+
+ p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+/*=============================================================================
+ Program listings
+=============================================================================*/
+
+ /* Code on paragraphs */
+ p tt.computeroutput
+ {
+ font-size: 10pt;
+ }
+
+ pre.synopsis
+ {
+ font-size: 10pt;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 10pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+/*=============================================================================
+ Headings
+=============================================================================*/
+
+ h1, h2, h3, h4, h5, h6
+ {
+ text-align: left;
+ margin: 1em 0em 0.5em 0em;
+ font-weight: bold;
+ }
+
+ h1 { font: 140% }
+ h2 { font: bold 140% }
+ h3 { font: bold 130% }
+ h4 { font: bold 120% }
+ h5 { font: italic 110% }
+ h6 { font: italic 100% }
+
+ /* Top page titles */
+ title,
+ h1.title,
+ h2.title
+ h3.title,
+ h4.title,
+ h5.title,
+ h6.title,
+ .refentrytitle
+ {
+ font-weight: bold;
+ margin-bottom: 1pc;
+ }
+
+ h1.title { font-size: 140% }
+ h2.title { font-size: 140% }
+ h3.title { font-size: 130% }
+ h4.title { font-size: 120% }
+ h5.title { font-size: 110% }
+ h6.title { font-size: 100% }
+
+ .section h1
+ {
+ margin: 0em 0em 0.5em 0em;
+ font-size: 140%;
+ }
+
+ .section h2 { font-size: 140% }
+ .section h3 { font-size: 130% }
+ .section h4 { font-size: 120% }
+ .section h5 { font-size: 110% }
+ .section h6 { font-size: 100% }
+
+ /* Code on titles */
+ h1 tt.computeroutput { font-size: 140% }
+ h2 tt.computeroutput { font-size: 140% }
+ h3 tt.computeroutput { font-size: 130% }
+ h4 tt.computeroutput { font-size: 120% }
+ h5 tt.computeroutput { font-size: 110% }
+ h6 tt.computeroutput { font-size: 100% }
+
+/*=============================================================================
+ Author
+=============================================================================*/
+
+ h3.author
+ {
+ font-size: 100%
+ }
+
+/*=============================================================================
+ Lists
+=============================================================================*/
+
+ li
+ {
+ font-size: 10pt;
+ line-height: 1.3;
+ }
+
+ /* Unordered lists */
+ ul
+ {
+ text-align: left;
+ }
+
+ /* Ordered lists */
+ ol
+ {
+ text-align: left;
+ }
+
+/*=============================================================================
+ Links
+=============================================================================*/
+
+ a
+ {
+ text-decoration: none; /* no underline */
+ }
+
+ a:hover
+ {
+ text-decoration: underline;
+ }
+
+/*=============================================================================
+ Spirit style navigation
+=============================================================================*/
+
+ .spirit-nav
+ {
+ text-align: right;
+ }
+
+ .spirit-nav a
+ {
+ color: white;
+ padding-left: 0.5em;
+ }
+
+ .spirit-nav img
+ {
+ border-width: 0px;
+ }
+
+/*=============================================================================
+ Table of contents
+=============================================================================*/
+
+ .toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.1pc 1pc 0.1pc 1pc;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+ .toc-main
+ {
+ width: 600;
+ text-align: center;
+ margin: 1pc 1pc 1pc 10%;
+ padding: 2pc 1pc 3pc 1pc;
+ line-height: 0.1;
+ }
+
+ .boost-toc
+ {
+ float: right;
+ padding: 0.5pc;
+ }
+
+/*=============================================================================
+ Tables
+=============================================================================*/
+
+ .table-title,
+ div.table p.title
+ {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+ }
+
+ div.informaltable table,
+ div.table table
+ {
+ padding: 4px;
+ }
+
+ /* Table Cells */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ padding: 0.5em;
+ text-align: left;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1pt solid white;
+ font-size: 120%;
+ }
+
+/*=============================================================================
+ Blurbs
+=============================================================================*/
+
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ font-size: 10pt;
+ line-height: 1.2;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ p.blurb img
+ {
+ padding: 1pt;
+ }
+
+/*=============================================================================
+ Variable Lists
+=============================================================================*/
+
+ span.term
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td
+ {
+ text-align: left;
+ vertical-align: top;
+ padding: 0em 2em 0em 0em;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td p
+ {
+ margin: 0em 0em 0.5em 0em;
+ }
+
+ /* Make the terms in definition lists bold */
+ div.variablelist dl dt
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist dl dd
+ {
+ margin: 1em 0em 1em 2em;
+ font-size: 10pt;
+ }
+
+/*=============================================================================
+ Misc
+=============================================================================*/
+
+ /* Title of books and articles in bibliographies */
+ span.title
+ {
+ font-style: italic;
+ }
+
+ span.underline
+ {
+ text-decoration: underline;
+ }
+
+ span.strikethrough
+ {
+ text-decoration: line-through;
+ }
+
+ /* Copyright, Legal Notice */
+ div div.legalnotice p
+ {
+ font-size: 8pt;
+ text-align: left
+ }
+
+/*=============================================================================
+ Colors
+=============================================================================*/
+
+ @media screen
+ {
+ /* Links */
+ a
+ {
+ color: #0C7445;
+ }
+
+ a:visited
+ {
+ color: #663974;
+ }
+
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
+ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
+ h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
+ {
+ text-decoration: none; /* no underline */
+ color: #000000;
+ }
+
+ /* Syntax Highlighting */
+ .keyword { color: #0000AA; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #402080; }
+ .char { color: teal; }
+ .comment { color: #800000; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+
+ /* Copyright, Legal Notice */
+ .copyright
+ {
+ color: #666666;
+ font-size: small;
+ }
+
+ div div.legalnotice p
+ {
+ color: #666666;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Blurbs */
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc-main
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ background-color: #FAFFFB;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ background-color: #E3F9E4;
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ color: #00A000;
+ }
+ }
+
+ @media print
+ {
+ /* Links */
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid gray;
+ background-color: #FAFFFB;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid gray;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc-main
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ border-collapse: collapse;
+ background-color: #FAFFFB;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ background-color: #FAFFFB;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ border: 1px solid #DCDCDC;
+ background-color: #FAFFFB;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ font-weight: bold;
+ }
+ }

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/chain.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/chain.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,84 @@
+[#chain]
+
+[heading Header]
+[@../../../../../boost/assign/v2/chain.hpp [^boost/assign/v2/chain.hpp]]
+
+[note This header does not include [^boost/assign/v2/chain/operator.hpp]. ]
+
+[heading Description]
+A variant of [tpl_range_join join] that caters to [link boost_assign_v2.reference.ref reference arrays]
+
+[section:adaptor Adaptor]
+
+[heading Header]
+[@../../../../../boost/assign/v2/chain/adaptor.hpp [^boost/assign/v2/chain/adaptor.hpp]]
+
+[heading Description]
+[tpl_range_adaptor Range adaptor] syntax.
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/chain/adaptor.hpp]
+[syntax_chain_adaptor]
+
+[#chain_adapter]
+
+[heading Semantics]
+
+[*Notation]
+
+[variablelist
+ [[`chained`][result of `r1 | __kwd_chain__( r2 )`]]
+]
+
+[*Expressions]
+
+[table
+ [[Expression][Value]]
+ [
+ [`*( i + begin( chained ) )`]
+ [`*( i < size( r1 ) ? i + begin( r1 ) : i - size( r1 ) + begin( r2 ) )` ]
+ ]
+]
+
+Although a reference array is (generally) generated in place, its elements may be convertible to non-const lvalue references. Chaining
+preserves this property.
+
+[heading Examples]
+[import ../test/chain.cpp]
+[*Example 1]
+[test_chain1]
+[*Example 2]
+[test_chain2]
+
+[endsect][/adaptor]
+[section:operator Operator]
+
+[#chain_operator]
+
+[heading Header]
+
+[@../../../../../boost/assign/v2/chain/operator.hpp [^boost/assign/v2/chain/operator.hpp]]
+
+[heading Description]
+
+Equivalent semantics, different syntax, using `operator&&`. While convenient, it is
+[@http://www.c-jump.com/CIS62/L09slides/lecture.html#L09_220_logical controversial]. Therefore, no header other than the one shown under [*Header]
+defines this alternative syntax.
+
+[heading Semantics]
+[table
+ [ [Expression][ Description ] ]
+ [
+ [`r1 && r2`]
+ [Equivalent to `r1 | __kwd_chain__( r2 )`]
+ ]
+]
+
+[heading Example]
+
+[*Example 1]
+[test_chain3]
+
+[endsect][/operator]
+
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/change_log.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/change_log.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,56 @@
+[section:v2 \[Proposal for\] Upgrading from __boost__ v1.4x : __boost_assign_v2__]
+
+Library __url_boost_assign_v2__
+
+* is defined in namespace `boost::assign::v2` and therefore does not affect the prior version, __url_boost_assign_v1__. See section [link org Organization].
+* is a follow up to a __url_boost_assign_v2_mini_review__ in which only a subset of the present upgrade was considered.
+
+[heading Ref & Chain]
+
+The following changes can be traced to the mini-review:
+
+* The pair of functions in __url_boost_assign_v1__, `ref_list_of` and `cref_list_of`, are replaced by a single function,
+[link ref_array `__fun_ref_array__`], that resolves lvalue/const-ness and the number of arguments
+automatically (thus eliminating the size template parameter).
+* A dual function, [link ref_csv_array `__fun_ref_csv_array__`], such that `__fun_ref_csv_array__(x, y, z)` is equivalent to `__fun_ref_array__( x )( y )( z )`
+* A [tpl_range_adaptor range adaptor] for chaining ranges, with special consideration for reference-arrays. See the relevant
+[link chain section].
+
+[heading Shared design]
+
+This library addresses some demands that surfaced during the mini-review:
+
+* Generalizes the above functor/csv duality throughout the library.
+* Supports __url_cpp0x__ features. Functions are typically variadic, declaring arguments as `Args&&...` and, where applicable, forward to an
+implementation using `std::forward<Args>`. Under __url_cpp03__, these aspects are emulated using overlads (Solution #3 of
+the [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm argument forwarding problem].) within some limits that can be
+[link config configured].
+* Removes the ambiguity, as to whether the creation of an empty array or a default constructed element is triggered by a nullary call to a container
+generator. See [link tut_empty here].
+
+[heading Interpreter]
+
+Library __url_boost_assign_v1__'s `list_of` and list-inserters are replaced by [link deque `__fun_deque__`] and [link put `__fun_put__`],
+respectively. In this new framework, the two functions share most of their functionality through a crtp class,
+[link interpreter_crtp `interpreter_crtp`][footnote The word ['interpreter] designates the same thing as ['proxy object] in
+__url_boost_assign_v1__.]. This new design conforms to the interface described under [*Shared design] and is
+characterized by these features:
+
+* A syntax that is uniform across container categories
+* [link option Options] for overriding semantics. Options are customizable.
+* Operator`|` for on the fly modification (piping)
+
+Some pointers:
+
+* The [link introduction introduction]'s example illustrates the first and last feature, above, and some aspects of the shared design.
+* Section [link perf Performance] contains a speed comparison of expressions under __url_boost_assign_v1__ and their nearest analogue under __url_boost_assign_v2__
+
+[heading By-product]
+
+A by-product of the interpreter framework is a tool for [link conversion conversion]. Whereas in __url_boost_assign_v1__ it is embedded in an
+object, such as that returned by `list_of`, in (2.0) it is a free functions. This sacrifice in convenience must be balanced against safety and code decoupling.
+Some features were left out altogether, such as comparison operators, so as to avoid redundancy with
+[@http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/utilities.html range utilities].
+
+[endsect][/ v2 ]
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/config.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/config.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,18 @@
+[#config]
+
+[import ../../../../boost/assign/v2/support/config/limit_functor_const_non_const_arity.hpp]
+[import ../../../../boost/assign/v2/support/config/limit_functor_arity.hpp]
+[import ../../../../boost/assign/v2/support/config/limit_csv_arity.hpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/support/config/limit_arity.hpp `boost/assign/v2/support/config/limit_arity.hpp`][br]
+ [@../../../../../boost/assign/v2/support/config/limit_csv_arity.hpp `boost/assign/v2/support/config/limit_csv_arity.hpp`][br]
+ [@../../../../../boost/assign/v2/support/config/limit_lvalue_const_arity.hpp `boost/assign/v2/support/config/limit_lvalue_const_arity.hpp`]
+ ..Constants that control arity of functors and csv functions, throughout this library, under __url_cpp03__ (not __url_cpp0x__)
+]
+
+[heading Synopsis]
+[limit_functor_const_non_const_arity]
+[limit_functor_arity]
+[limit_csv_arity]
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/containers.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/containers.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,82 @@
+[def __pass__ Yes]
+[def __fail__ No]
+
+[#containers]
+
+Known support for invoking `__fun_put__( __cont__ )( __args1__ )...( __argsn__ )` is summarized below [footnote Known lack of support means that the
+library is unable to provide a default implementation. The user may able to get around it by supplying an option :
+`( __fun_put__( __cont__ ) % __option__ )( __args1__ )...( __argsn__ )`].
+
+
+[table
+ [
+ [Container]
+ [/Supported]
+ ]
+ [
+ [`boost::array`]
+ [/__pass__]
+ ]
+ [
+ [`boost::circular_buffer`]
+ [/__pass__]
+ ]
+ [
+ [`boost::multi_array`]
+ [/__pass__]
+ ]
+ [ [`boost::ptr_array`]
+ [/__pass__]
+ ]
+ [ [`boost::ptr_circular_buffer`]
+ [/__pass__]
+ ]
+ [ [`boost::ptr_deque`]
+ [/__pass__]
+ ]
+ [ [`boost::ptr_list`]
+ [/__pass__]
+ ]
+ [
+ [`boost::ptr_map`]
+ [/__pass__]
+ ]
+ [
+ [`boost::ptr_set`]
+ [/__pass__]
+ ]
+ [
+ [`boost::ptr_unordered_map`]
+ [/__pass__]
+ ]
+ [
+ [`boost::ptr_unordered_set`]
+ [/__pass__]
+ ]
+ [
+ [`boost::ptr_vector`]
+ [/__pass__]
+ ]
+ [ [`std::deque`]
+ [/__pass__]
+ ]
+ [ [`std::list`]
+ [/__pass__]
+ ]
+ [ [`std::map`]
+ [/__pass__]
+ ]
+ [ [`std::queue`]
+ [/__pass__]
+ ]
+ [ [`std::set`]
+ [/__pass__]
+ ]
+ [ [`std::stack`]
+ [/__pass__]
+ ]
+ [
+ [`std::vector`]
+ [/__pass__]
+ ]
+]
\ No newline at end of file

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/conv.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/conv.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,84 @@
+[#doc_conv]
+
+Here are conventions used in this documentation.
+
+[heading Names]
+
+A feature's identifier is given unqualified. i.e. `boost::assign::v2::name` is displayed as `name`.
+In code snippets under header [*Example], `boost::assign::v2::name` is displayed as `as2::name`.
+
+[heading Glossary]
+
+[variablelist
+ [
+ [Container generator]
+ [A function that returns a container]
+ ]
+ [
+ [Csv form]
+ [ A syntax, dual to that of an associated functor, that takes the form of one function invocation]
+ ]
+ [
+ [Data generator]
+ [A variadic object that constructs a container's data-member]
+ ]
+ [
+ [Functor form]
+ [ A functor syntax]
+ ]
+ [
+ [Interpreter]
+ [Object with a simple syntax for modifying a container]
+ ]
+ [
+ [Modifier]
+ [Component of an interpreter that invokes a container modifier]
+ ]
+ [
+ [Option]
+ [Encapsulates a command to alter the semantics of an interpreter]
+ ]
+ [
+ [Pipe]
+ [
+ Overload of `operator|` that transforms the first argument by a mapping specified by the second argument, and returns it[footnote This idiom originated in [tpl_pipe Unix] and is present in Boost.Range under the name [tpl_range_adaptor range adaptor].].
+ ]
+ ]
+ [
+ [Reference array]
+ [ Designates, in this library, an array of reference wrappers. ]
+ ]
+]
+
+[heading Notation]
+
+[variablelist
+ [
+ [`__arg__`]
+ [Some argument of unspecified type]
+ ]
+ [
+ [`__cont__`]
+ [A container]
+ ]
+ [
+ [`__cont_type__`]
+ [`__cont__`'s type]
+ ]
+ [
+ [`__range__`]
+ [A range]
+ ]
+ [
+ [`__f__`]
+ [A functor]
+ ]
+ [
+ [`__ref_array__`]
+ [A reference array]
+ ]
+ [
+ [`__value__`]
+ [A container data-member]
+ ]
+]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/conversion.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/conversion.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,88 @@
+[import ../test/conversion.cpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/conversion.hpp boost/assign/v2/conversion.hpp]
+ ..Range-to-container conversion
+]
+
+[section:convert Convert]
+[#convert]
+
+[heading Header]
+[@../../../../../boost/assign/v2/conversion/convert.hpp [^boost/assign/v2/conversion/convert.hpp]]
+
+[heading Description]
+Explicit conversion.
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/conversion/convert.hpp]
+[syntax_conversion_convert]
+
+
+[heading Semantics]
+[*Expressions]
+
+`__range__ | __fun_convert__<__cont_type__>()` is defined as the switch below:
+
+[table
+ [[Case][Statement]]
+ [
+ [`__cont_type__` is either an [tpl_boost_array Array] or an [tpl_stl_adapter Adapter]]
+ [`__cont_type__ __cont__; __fun_csv_put__( cont, __fun_as_arg_list__( __range__ ) )` and returns `__cont__`]
+ ]
+ [
+ [`__cont_type__` is a [tpl_multi_array multi_array]]
+ [Undefined]
+ ]
+ [
+ [Otherwise]
+ [Returns `__cont_type__( begin( __range__ ), end( __range__ ) )`]
+ ]
+]
+
+If an argument is passed, `__range__ | __fun_convert__<__cont_type__>( arg )`,
+
+[table
+ [[Case][Statement]]
+ [
+ [`__cont_type__` is either an [tpl_boost_array Array], [tpl_stl_adapter Adapter] or a [tpl_multi_array multi_array]]
+ [`__cont_type__ __cont__( arg ); __fun_csv_put__( cont, __fun_as_arg_list__( __range__ ) )` and returns `__cont__`]
+ ]
+ [
+ [Otherwise]
+ [Undefined]
+ ]
+]
+
+[heading Example]
+[*Example 1]
+[test_convert1]
+
+[endsect][/convert]
+[section:converter Converter]
+[#converter]
+
+[heading Header]
+[@../../../../../boost/assign/v2/conversion/converter.hpp boost/assign/v2/conversion/converter.hpp]
+
+[heading Description]
+Implicit conversion.
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/conversion/converter.hpp]
+[syntax_conversion_converter]
+
+[heading Semantics]
+
+See section [link convert Convert].
+
+[heading Example]
+[*Example 1]
+[test_converter1]
+[*Example 2]
+[test_conversion_f]
+[test_converter2]
+[*Example 3]
+[test_converter3]
+
+[endsect][/converter]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/csv.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/csv.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,36 @@
+[#csv]
+
+[heading Header]
+[@../../../../../boost/assign/v2/csv.hpp [^boost/assign/v2/csv.hpp]]
+
+[heading Description]
+
+Maps an arbitrary functor to the csv form.
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/csv.hpp]
+[syntax_csv]
+
+[heading Semantics]
+
+[*Notation]
+
+[variablelist
+ [[`__value__1, ..., __value_n__`][Individual elements of `args...`]]
+]
+
+[*Semantics]
+
+[table
+ [[Expression][Returns]]
+ [[`__fun_csv__( functor, args... )`][` functor( __value__1 ) ... ( __value_n__ ) `]]
+]
+
+[heading Example]
+[import ../test/csv.cpp]
+[*Example 1]
+[test_csv_put]
+[*Example 2]
+[test_csv_put_map]
+[*Example 3]
+[test_csv_deque_modulo]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/deque.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/deque.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,119 @@
+[import ../test/deque/csv_deque_basic.cpp]
+[import ../test/deque/csv_deque_ext.cpp]
+[import ../test/deque/deque.cpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/deque.hpp `boost/assign/v2/deque.hpp`]
+ ..Interpreter that generates a deque container.
+]
+
+[section:conversion Conversion]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/conversion.hpp `boost/assign/v2/deque/conversion.hpp`]
+
+[heading Description]
+ADL version of [link converter __fun_converter__]
+
+[heading Example]
+[*Example 1]
+[test_csv_deque_converter]
+
+[endsect][/conversion]
+[section:csv_deque Csv_deque]
+[#csv_deque]
+
+[import ../../../../boost/assign/v2/deque/csv_deque.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/csv_deque.hpp `boost/assign/v2/deque/csv_deque.hpp`]
+
+[heading Description]
+__csv_form__
+
+[section:csv_deque_unary Csv_deque_basic]
+[#csv_deque_basic]
+
+[import ../../../../boost/assign/v2/deque/csv_deque/csv_deque_basic.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/csv_deque/csv_deque_basic.hpp `boost/assign/v2/deque/csv_deque/csv_deque_basic.hpp`]
+
+[heading Description]
+__csv_form_basic__
+
+[heading Synopsis]
+[syntax_csv_deque_basic]
+
+[heading Example]
+[*Example 1]
+[test_csv_deque_basic1]
+
+[*Example 2]
+[test_csv_deque_basic2]
+
+[*Example 3]
+[test_csv_deque_basic3]
+
+[endsect][/csv_deque_basic]
+[section:csv_deque_ext Csv_deque_ext]
+[#csv_deque_ext]
+
+[import ../../../../boost/assign/v2/deque/csv_deque/csv_deque_ext.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/csv_deque/csv_deque_ext.hpp `boost/assign/v2/deque/csv_deque/csv_deque_ext.hpp`]
+
+[heading Description]
+__csv_form_ext__
+
+[heading Synopsis]
+[syntax_csv_deque_ext]
+
+[heading Example]
+[*Example 1]
+[test_csv_deque_ext1]
+
+[endsect][/csv_deque_ext]
+[section:result_of_csv_deque Result_of]
+[#result_of_csv_deque]
+
+[import ../../../../boost/assign/v2/deque/csv_deque/result_of.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/csv_deque/result_of.hpp `boost/assign/v2/deque/csv_deque/result_of.hpp`]
+
+[heading Description]
+Extended form
+
+[heading Synopsis]
+[syntax_result_of_csv_deque]
+
+[endsect][/csv_deque_result_of]
+[endsect][/csv_deque]
+[section:deque Deque]
+[#deque]
+
+[import ../../../../boost/assign/v2/deque/deque.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/deque.hpp `boost/assign/v2/deque/deque.hpp`]
+
+[heading Description]
+__functor_form__
+
+[heading Synopsis]
+[syntax_deque_deque]
+
+[heading Semantics]
+The methods have the same semantics as `std::deque`. Methods `push_back` and `push_front` are ommitted as their side effect can be
+obtained by invoking `operator()`, by default, and after passing option [link std_modifier __kwd_push_front__], respectively.
+
+[heading Example]
+[*Example 1]
+[test_deque1]
+
+[*Example 2]
+[test_deque2]
+
+[endsect][/deque]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,143 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Appendix</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="prev" href="reference/support.html" title="Support">
+<link rel="next" href="apx/change_log.html" title="Change_log">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/support.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="apx/change_log.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_assign_v2.apx"></a><a class="link" href="apx.html" title="Appendix">Appendix</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Acknowledgement</span></dt>
+<dt><span class="section">Change_log</span></dt>
+<dd><dl><dt><span class="section"><a href="apx/change_log.html#boost_assign.apx.change_log.v2">[Proposal for] Upgrading
+ from Boost v1.4x : Boost.Assign 2.0</a></span></dt></dl></dd>
+<dt><span class="section">Containers</span></dt>
+<dt><span class="section">Doc conventions</span></dt>
+<dt><span class="section">Performance</span></dt>
+<dt><span class="section">Portability</span></dt>
+<dt><span class="section">Support</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.acknow"></a><a class="link" href="apx.html#boost_assign_v2.apx.acknow" title="Acknowledgement">Acknowledgement</a>
+</h3></div></div></div>
+<a name="boost_assign_v2.apx.acknow.boost_assign__1_0_"></a><h5>
+<a name="id36392759"></a>
+ <a class="link" href="apx.html#boost_assign_v2.apx.acknow.boost_assign__1_0_">Boost.Assign
+ (1.0)</a>
+ </h5>
+<p>
+ The idea for an assignment/initialization library is not new. The functionality
+ of this library resembles Leor Zolman's STL Container Initialization Library
+ a great deal, but it does not rely on string parsing to achieve its goals.
+ </p>
+<p>
+ Special thanks to
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Leor Zolman for our many discussion that eventually led to this library.
+ </li>
+<li class="listitem">
+ Tom Brinkman for being review manager.
+ </li>
+<li class="listitem">
+ Joaqu&#237;n Mu&#241;oz for vc6/vc7 portability.
+ </li>
+<li class="listitem">
+ Pavel Vozenilek for his countless suggestions, improvements and portability
+ fixes.
+ </li>
+<li class="listitem">
+ Rene Rivera for Code Warrior portability.
+ </li>
+</ul></div>
+<p>
+ The following books have helped or were influential:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Scott. Meyers, "More Effective C++", Item 7, Addison Wesley,
+ 1996
+ </li>
+<li class="listitem">
+ K. Czarnecki and U.W. Eisenecker, "Generative programming",
+ Addison-Wesley, 2000
+ </li>
+<li class="listitem">
+ Blitz
+ </li>
+<li class="listitem">
+ Gabriel Dos Reis and Bjarne Stroustrup, <a href="http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1509.pdf" target="_top">Generalized
+ Initializer Lists</a>, 2003
+ </li>
+</ul></div>
+<a name="boost_assign_v2.apx.acknow.boost_assign_2_0_"></a><h5>
+<a name="id36392873"></a>
+ <a class="link" href="apx.html#boost_assign_v2.apx.acknow.boost_assign_2_0_">Boost.Assign
+ 2.0 </a>
+ </h5>
+<p>
+ Evidently, Boost.Assign 2.0 owes much to Boost.Assign (1.0), but it is also
+ influenced by Boost.Range
+ (<a class="link" href="reference.html#chain">chaining</a> and piping).
+ </p>
+<p>
+ Special thanks to
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Manuel Peinado Gallego whose work
+ and discussions have inspired the changes proposed in the mini-review.
+ </li>
+<li class="listitem">
+ Thorsten Ottosen and John Bytheway have shaped this new version of the
+ library and its documentation, through their feedback as review managers
+ of the mini-review
+ and the main review, respectively.
+ </li>
+</ul></div>
+<p>
+ The following books have helped or were influential:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ Abrahams, David and Gurtovoy, Aleksey, <a href="http://portal.acm.org/citation.cfm?id=1044941#" target="_top">C++
+ Template Metaprogramming</a>: Concepts, Tools, and Techniques from
+ Boost and Beyond (C++ in Depth Series), 2004, Addison-Wesley Professional.
+ </li></ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/support.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="apx/change_log.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/change_log.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/change_log.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,185 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Change_log</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="../apx.html" title="Appendix">
+<link rel="next" href="cont.html" title="Containers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../apx.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cont.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.change_log"></a><a class="link" href="change_log.html" title="Change_log">Change_log</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="change_log.html#boost_assign.apx.change_log.v2">[Proposal for] Upgrading
+ from Boost v1.4x : Boost.Assign 2.0</a></span></dt></dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.apx.change_log.v2"></a><a class="link" href="change_log.html#boost_assign.apx.change_log.v2" title="[Proposal for] Upgrading from Boost v1.4x : Boost.Assign 2.0">[Proposal for] Upgrading
+ from Boost v1.4x : Boost.Assign 2.0</a>
+</h4></div></div></div>
+<p>
+ Library Boost.Assign 2.0
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ is defined in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span></code>
+ and therefore does not affect the prior version, <a href="../../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a>. See section <a class="link" href="../org.html#org">Organization</a>.
+ </li>
+<li class="listitem">
+ is a follow up to a mini-review
+ in which only a subset of the present upgrade was considered.
+ </li>
+</ul></div>
+<a name="boost_assign.apx.change_log.v2.ref__amp__chain"></a><h6>
+<a name="id36393070"></a>
+ <a class="link" href="change_log.html#boost_assign.apx.change_log.v2.ref__amp__chain">Ref &amp;
+ Chain</a>
+ </h6>
+<p>
+ The following changes can be traced to the mini-review:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The pair of functions in <a href="../../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a>, <code class="computeroutput"><span class="identifier">ref_list_of</span></code>
+ and <code class="computeroutput"><span class="identifier">cref_list_of</span></code>, are
+ replaced by a single function, <a class="link" href="../reference/ref.html#ref_array"><code class="computeroutput">ref::array</code></a>,
+ that resolves lvalue/const-ness and the number of arguments automatically
+ (thus eliminating the size template parameter).
+ </li>
+<li class="listitem">
+ A dual function, <a class="link" href="../reference/ref.html#ref_csv_array"><code class="computeroutput">ref::csv_array</code></a>,
+ such that <code class="computeroutput">ref::csv_array<span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span></code>
+ is equivalent to <code class="computeroutput">ref::array<span class="special">(</span>
+ <span class="identifier">x</span> <span class="special">)(</span>
+ <span class="identifier">y</span> <span class="special">)(</span>
+ <span class="identifier">z</span> <span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ A <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptor</a> for chaining ranges, with special consideration for
+ reference-arrays. See the relevant <a class="link" href="../reference.html#chain">section</a>.
+ </li>
+</ul></div>
+<a name="boost_assign.apx.change_log.v2.shared_design"></a><h6>
+<a name="id36393255"></a>
+ <a class="link" href="change_log.html#boost_assign.apx.change_log.v2.shared_design">Shared design</a>
+ </h6>
+<p>
+ This library addresses some demands that surfaced during the mini-review:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Generalizes the above functor/csv duality throughout the library.
+ </li>
+<li class="listitem">
+ Supports C++0x
+ features. Functions are typically variadic, declaring arguments as
+ <code class="computeroutput"><span class="identifier">Args</span><span class="special">&amp;&amp;...</span></code>
+ and, where applicable, forward to an implementation using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span><span class="special">&lt;</span><span class="identifier">Args</span><span class="special">&gt;</span></code>.
+ Under C++03,
+ these aspects are emulated using overlads (Solution #3 of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">argument
+ forwarding problem</a>.) within some limits that can be <a class="link" href="../reference/support.html#config">configured</a>.
+ </li>
+<li class="listitem">
+ Removes the ambiguity, as to whether the creation of an empty array
+ or a default constructed element is triggered by a nullary call to
+ a container generator. See <a class="link" href="../tut.html#tut_empty">here</a>.
+ </li>
+</ul></div>
+<a name="boost_assign.apx.change_log.v2.interpreter"></a><h6>
+<a name="id36393381"></a>
+ <a class="link" href="change_log.html#boost_assign.apx.change_log.v2.interpreter">Interpreter</a>
+ </h6>
+<p>
+ Library <a href="../../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a>'s <code class="computeroutput"><span class="identifier">list_of</span></code>
+ and list-inserters are replaced by <a class="link" href="../reference/deque.html#deque"><code class="computeroutput">deque</code></a>
+ and <a class="link" href="../reference/put.html#put"><code class="computeroutput">put</code></a>, respectively. In this
+ new framework, the two functions share most of their functionality through
+ a crtp class, <a class="link" href="../reference/interpreter.html#interpreter_crtp"><code class="computeroutput"><span class="identifier">interpreter_crtp</span></code></a><sup>[<a name="id36393445" href="#ftn.id36393445" class="footnote">9</a>]</sup>. This new design conforms to the interface described under
+ <span class="bold"><strong>Shared design</strong></span> and is characterized by
+ these features:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ A syntax that is uniform across container categories
+ </li>
+<li class="listitem">
+ <a class="link" href="../reference/option.html#option">Options</a> for overriding semantics. Options
+ are customizable.
+ </li>
+<li class="listitem">
+ Operator<code class="computeroutput"><span class="special">|</span></code> for on the fly
+ modification (piping)
+ </li>
+</ul></div>
+<p>
+ Some pointers:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The <a class="link" href="../../">introduction</a>'s example illustrates
+ the first and last feature, above, and some aspects of the shared design.
+ </li>
+<li class="listitem">
+ Section <a class="link" href="perf.html#perf">Performance</a> contains a speed comparison
+ of expressions under <a href="../../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a> and their nearest analogue under <a href="../.././index.html" target="_top">Boost.Assign
+ 2.0</a>
+ </li>
+</ul></div>
+<a name="boost_assign.apx.change_log.v2.by_product"></a><h6>
+<a name="id36393564"></a>
+ <a class="link" href="change_log.html#boost_assign.apx.change_log.v2.by_product">By-product</a>
+ </h6>
+<p>
+ A by-product of the interpreter framework is a tool for <a class="link" href="../reference/conversion.html#conversion">conversion</a>.
+ Whereas in <a href="../../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a> it is embedded in an object, such as that returned by <code class="computeroutput"><span class="identifier">list_of</span></code>, in (2.0) it is a free functions.
+ This sacrifice in convenience must be balanced against safety and code
+ decoupling. Some features were left out altogether, such as comparison
+ operators, so as to avoid redundancy with <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/utilities.html" target="_top">range
+ utilities</a>.
+ </p>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36393445" href="#id36393445" class="para">9</a>] </sup>
+ The word <span class="emphasis"><em>interpreter</em></span> designates the same thing as
+ <span class="emphasis"><em>proxy object</em></span> in <a href="../../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a>.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../apx.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cont.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/cont.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/cont.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Containers</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="change_log.html" title="Change_log">
+<link rel="next" href="conv.html" title="Doc conventions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="change_log.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conv.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.cont"></a><a class="link" href="cont.html" title="Containers">Containers</a>
+</h3></div></div></div>
+<a name="containers"></a><p>
+ Known support for invoking <code class="computeroutput">put<span class="special">(</span> cont
+ <span class="special">)(</span> args1... <span class="special">)...(</span>
+ argsn... <span class="special">)</span></code> is summarized below <sup>[<a name="id36393661" href="#ftn.id36393661" class="footnote">10</a>]</sup>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup><col></colgroup>
+<thead><tr><th>
+ <p>
+ Container
+ </p>
+ </th></tr></thead>
+<tbody>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">circular_buffer</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_array</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_circular_buffer</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_deque</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_list</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_map</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_set</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_unordered_map</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_unordered_set</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_vector</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stack</span></code>
+ </p>
+ </td></tr>
+<tr><td>
+ <p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
+ </p>
+ </td></tr>
+</tbody>
+</table></div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36393661" href="#id36393661" class="para">10</a>] </sup>
+ Known lack of support means that the library is unable to provide a default
+ implementation. The user may able to get around it by supplying an option
+ : <code class="computeroutput"><span class="special">(</span> put<span class="special">(</span>
+ cont <span class="special">)</span> <span class="special">%</span>
+ option <span class="special">)(</span> args1... <span class="special">)...(</span>
+ argsn... <span class="special">)</span></code>
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="change_log.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conv.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/conv.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/conv.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Doc conventions</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="cont.html" title="Containers">
+<link rel="next" href="perf.html" title="Performance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cont.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.conv"></a><a class="link" href="conv.html" title="Doc conventions">Doc conventions</a>
+</h3></div></div></div>
+<a name="doc_conv"></a><p>
+ Here are conventions used in this documentation.
+ </p>
+<a name="boost_assign.apx.conv.names"></a><h5>
+<a name="id36394419"></a>
+ <a class="link" href="conv.html#boost_assign.apx.conv.names">Names</a>
+ </h5>
+<p>
+ A feature's identifier is given unqualified. i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span><span class="special">::</span><span class="identifier">name</span></code> is displayed as <code class="computeroutput"><span class="identifier">name</span></code>.
+ In code snippets under header <span class="bold"><strong>Example</strong></span>,
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span><span class="special">::</span><span class="identifier">name</span></code>
+ is displayed as <code class="computeroutput"><span class="identifier">as2</span><span class="special">::</span><span class="identifier">name</span></code>.
+ </p>
+<a name="boost_assign.apx.conv.glossary"></a><h5>
+<a name="id36394543"></a>
+ <a class="link" href="conv.html#boost_assign.apx.conv.glossary">Glossary</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term">Container generator</span></dt>
+<dd><p>
+ A function that returns a container
+ </p></dd>
+<dt><span class="term">Csv form</span></dt>
+<dd><p>
+ A syntax, dual to that of an associated functor, that takes the form
+ of one function invocation
+ </p></dd>
+<dt><span class="term">Data generator</span></dt>
+<dd><p>
+ A variadic object that constructs a container's data-member
+ </p></dd>
+<dt><span class="term">Functor form</span></dt>
+<dd><p>
+ A functor syntax
+ </p></dd>
+<dt><span class="term">Interpreter</span></dt>
+<dd><p>
+ Object with a simple syntax for modifying a container
+ </p></dd>
+<dt><span class="term">Modifier</span></dt>
+<dd><p>
+ Component of an interpreter that invokes a container modifier
+ </p></dd>
+<dt><span class="term">Option</span></dt>
+<dd><p>
+ Encapsulates a command to alter the semantics of an interpreter
+ </p></dd>
+<dt><span class="term">Pipe</span></dt>
+<dd><p>
+ Overload of <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>
+ that transforms the first argument by a mapping specified by the second
+ argument, and returns it<sup>[<a name="id36394680" href="#ftn.id36394680" class="footnote">11</a>]</sup>.
+ </p></dd>
+<dt><span class="term">Reference array</span></dt>
+<dd><p>
+ Designates, in this library, an array of reference wrappers.
+ </p></dd>
+</dl>
+</div>
+<a name="boost_assign.apx.conv.notation"></a><h5>
+<a name="id36394723"></a>
+ <a class="link" href="conv.html#boost_assign.apx.conv.notation">Notation</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput">arg</code></span></dt>
+<dd><p>
+ Some argument of unspecified type
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">cont</code></span></dt>
+<dd><p>
+ A container
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">C</code></span></dt>
+<dd><p>
+ <code class="computeroutput">cont</code>'s type
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">r</code></span></dt>
+<dd><p>
+ A range
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">f</code></span></dt>
+<dd><p>
+ A functor
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">rw</code></span></dt>
+<dd><p>
+ A reference array
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">t</code></span></dt>
+<dd><p>
+ A container data-member
+ </p></dd>
+</dl>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36394680" href="#id36394680" class="para">11</a>] </sup>
+ This idiom originated in Unix
+ and is present in Boost.Range under the name <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptor</a>.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cont.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/perf.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/perf.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,477 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Performance</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="conv.html" title="Doc conventions">
+<link rel="next" href="port.html" title="Portability">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conv.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.perf"></a><a class="link" href="perf.html" title="Performance">Performance</a>
+</h3></div></div></div>
+<a name="perf"></a><p>
+ <span class="bold"><strong>Machine</strong></span> Mac OS
+ </p>
+<p>
+ <span class="bold"><strong>Compiler</strong></span> GNU C++ version 4.4.1
+ </p>
+<p>
+ <span class="bold"><strong>Notation</strong></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span></code></span></dt>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code>
+ </p></dd>
+<dt><span class="term"><code class="literal">n</code></span></dt>
+<dd><p>
+ Number of inner loops
+ </p></dd>
+<dt><span class="term"><code class="literal">k</code></span></dt>
+<dd><p>
+ Number of outer loops
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">args</span><span class="special">...</span></code></span></dt>
+<dd><p>
+ List of arguments, each of type T and max size 1000
+ </p></dd>
+<dt><span class="term"><code class="literal">var</code></span></dt>
+<dd><p>
+ Time to eval some method over <code class="computeroutput"><span class="identifier">args</span><span class="special">...</span></code>, <code class="literal">n</code> times
+ </p></dd>
+<dt><span class="term"><code class="literal">var_scaled</code></span></dt>
+<dd><p>
+ <code class="literal">1000 * var</code>
+ </p></dd>
+<dt><span class="term"><code class="literal">m</code></span></dt>
+<dd><p>
+ Size of <code class="computeroutput"><span class="identifier">args</span><span class="special">...</span></code>
+ </p></dd>
+<dt><span class="term"><code class="literal">min</code></span></dt>
+<dd><p>
+ Min value of <code class="literal">var_scaled</code>, over <code class="literal">k</code>
+ repetitions
+ </p></dd>
+<dt><span class="term"><code class="literal">average</code></span></dt>
+<dd><p>
+ Average value of <code class="literal">var_scaled</code>, over <code class="literal">k</code>
+ repetitions
+ </p></dd>
+<dt><span class="term"><code class="literal">max</code></span></dt>
+<dd><p>
+ Max value of <code class="literal">var_scaled</code>, over <code class="literal">k</code>
+ repetitions
+ </p></dd>
+<dt><span class="term"><code class="literal">cumulated</code></span></dt>
+<dd><p>
+ Cumulative value of <code class="literal">var_scaled</code>, over <code class="literal">k</code>
+ repetitions.
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Methods</strong></span>
+ </p>
+<div class="table">
+<a name="boost_assign.apx.perf.put"></a><p class="title"><b>Table&#160;1.1.&#160;Put</b></p>
+<div class="table-contents"><table class="table" summary="Put">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Method
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ stl_push_back
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cont</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span>
+ <span class="identifier">arg1</span> <span class="special">);</span>
+ <span class="special">...;</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">argm</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v1_push_back
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_back</span><span class="special">(</span>
+ <span class="identifier">cont</span> <span class="special">)(</span>
+ <span class="identifier">arg1</span> <span class="special">)...(</span>
+ <span class="identifier">argm</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_put
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">v2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span>
+ <span class="identifier">cont</span> <span class="special">)(</span>
+ <span class="identifier">arg1</span> <span class="special">)...(</span>
+ <span class="identifier">argm</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_csv_put
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">v2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span>
+ <span class="identifier">cont</span><span class="special">,</span>
+ <span class="identifier">args</span><span class="special">...</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_do_put_for_each
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cont</span> <span class="special">|</span>
+ <span class="identifier">v2</span><span class="special">::</span><span class="identifier">do_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span>
+ <span class="identifier">args</span><span class="special">...</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_do_csv_put
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cont</span> <span class="special">|</span>
+ <span class="identifier">v2</span><span class="special">::</span><span class="identifier">do_csv_put</span><span class="special">(</span>
+ <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span>
+ <span class="identifier">args</span><span class="special">...</span>
+ <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="boost_assign.apx.perf.deque"></a><p class="title"><b>Table&#160;1.2.&#160;Deque</b></p>
+<div class="table-contents"><table class="table" summary="Deque">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Method
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ v1_list_of
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">list_of</span><span class="special">(</span>
+ <span class="identifier">arg1</span> <span class="special">)...(</span>
+ <span class="identifier">argm</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_deque
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">v2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span>
+ <span class="identifier">arg1</span> <span class="special">)...(</span>
+ <span class="identifier">argm</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_csv_deque
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">v2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span>
+ <span class="identifier">args</span><span class="special">...</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="boost_assign.apx.perf.ref"></a><p class="title"><b>Table&#160;1.3.&#160;Ref</b></p>
+<div class="table-contents"><table class="table" summary="Ref">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Method
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ v1_cref_list_of
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cref_list_of</span><span class="special">&lt;</span><span class="identifier">m</span><span class="special">&gt;(</span>
+ <span class="identifier">arg1</span> <span class="special">)...(</span>
+ <span class="identifier">argm</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_ref_array
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">v2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span>
+ <span class="identifier">arg1</span> <span class="special">)...(</span>
+ <span class="identifier">argm</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ v2_ref_csv_array
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">v2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span>
+ <span class="identifier">args</span><span class="special">...)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ <span class="bold"><strong>Interpretation</strong></span>
+ </p>
+<p>
+ In detail:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ As <code class="literal">m</code> increases, <code class="literal">average</code> is also
+ expected to increase.
+ </li>
+<li class="listitem">
+ <code class="literal">k</code> and <code class="literal">n</code> control the variability
+ of <code class="literal">average</code>, which can be gauged from looking at the
+ spread between <code class="literal">min</code> and <code class="literal">max</code>.
+ </li>
+<li class="listitem">
+ <code class="literal">cumulative</code> is used for checking that simulation time
+ is not excessively spent on one method at the expense of another.
+ </li>
+</ul></div>
+<p>
+ <code class="literal">k</code>, <code class="literal">n</code> and <code class="literal">cumulative</code>
+ are of interest only insofar as setting up the simulation, not interpreting
+ performance.
+ </p>
+<p>
+ <span class="bold"><strong>Results</strong></span>
+</p>
+<pre class="programlisting"><span class="special">{</span>
+<span class="special">{</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">m</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">method</span><span class="special">,</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">average</span><span class="special">,</span> <span class="identifier">max</span><span class="special">,</span> <span class="identifier">cumulative</span><span class="special">}...</span>
+<span class="special">}</span>
+<span class="special">{</span>
+<span class="special">{</span><span class="number">12800</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">stl_push_back</span><span class="special">,</span> <span class="number">0.012</span><span class="special">,</span> <span class="number">0.014</span><span class="special">,</span> <span class="number">0.027</span><span class="special">,</span> <span class="number">177.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">0.030</span><span class="special">,</span> <span class="number">0.033</span><span class="special">,</span> <span class="number">0.068</span><span class="special">,</span> <span class="number">419.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.013</span><span class="special">,</span> <span class="number">0.015</span><span class="special">,</span> <span class="number">0.025</span><span class="special">,</span> <span class="number">187.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.013</span><span class="special">,</span> <span class="number">0.015</span><span class="special">,</span> <span class="number">0.037</span><span class="special">,</span> <span class="number">188.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_put_for_each</span><span class="special">,</span> <span class="number">0.126</span><span class="special">,</span> <span class="number">0.129</span><span class="special">,</span> <span class="number">0.192</span><span class="special">,</span> <span class="number">1650.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_csv_put</span><span class="special">,</span> <span class="number">0.099</span><span class="special">,</span> <span class="number">0.103</span><span class="special">,</span> <span class="number">0.218</span><span class="special">,</span> <span class="number">1312.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">0.123</span><span class="special">,</span> <span class="number">0.127</span><span class="special">,</span> <span class="number">0.203</span><span class="special">,</span> <span class="number">1619.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.089</span><span class="special">,</span> <span class="number">0.092</span><span class="special">,</span> <span class="number">0.166</span><span class="special">,</span> <span class="number">1174.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.104</span><span class="special">,</span> <span class="number">0.107</span><span class="special">,</span> <span class="number">0.254</span><span class="special">,</span> <span class="number">1367.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_cref_list_of</span><span class="special">,</span> <span class="number">0.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">17.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.002</span><span class="special">,</span> <span class="number">0.004</span><span class="special">,</span> <span class="number">0.007</span><span class="special">,</span> <span class="number">47.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_csv_array</span><span class="special">,</span> <span class="number">0.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.004</span><span class="special">,</span> <span class="number">17.7</span><span class="special">}</span>
+<span class="special">}</span>
+<span class="special">{</span>
+<span class="special">{</span><span class="number">6400</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">stl_push_back</span><span class="special">,</span> <span class="number">0.033</span><span class="special">,</span> <span class="number">0.035</span><span class="special">,</span> <span class="number">0.053</span><span class="special">,</span> <span class="number">226.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">0.080</span><span class="special">,</span> <span class="number">0.083</span><span class="special">,</span> <span class="number">0.115</span><span class="special">,</span> <span class="number">531.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.035</span><span class="special">,</span> <span class="number">0.037</span><span class="special">,</span> <span class="number">0.043</span><span class="special">,</span> <span class="number">234.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.036</span><span class="special">,</span> <span class="number">0.038</span><span class="special">,</span> <span class="number">0.050</span><span class="special">,</span> <span class="number">240.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_put_for_each</span><span class="special">,</span> <span class="number">0.234</span><span class="special">,</span> <span class="number">0.238</span><span class="special">,</span> <span class="number">0.316</span><span class="special">,</span> <span class="number">1524.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_csv_put</span><span class="special">,</span> <span class="number">0.144</span><span class="special">,</span> <span class="number">0.146</span><span class="special">,</span> <span class="number">0.168</span><span class="special">,</span> <span class="number">936.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">0.188</span><span class="special">,</span> <span class="number">0.190</span><span class="special">,</span> <span class="number">0.211</span><span class="special">,</span> <span class="number">1216.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.121</span><span class="special">,</span> <span class="number">0.124</span><span class="special">,</span> <span class="number">0.139</span><span class="special">,</span> <span class="number">793.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.167</span><span class="special">,</span> <span class="number">0.172</span><span class="special">,</span> <span class="number">0.216</span><span class="special">,</span> <span class="number">1097.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_cref_list_of</span><span class="special">,</span> <span class="number">0.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.004</span><span class="special">,</span> <span class="number">8.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">0.006</span><span class="special">,</span> <span class="number">0.010</span><span class="special">,</span> <span class="number">38.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_csv_array</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.002</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">12.1</span><span class="special">}</span>
+<span class="special">}</span>
+<span class="special">{</span>
+<span class="special">{</span><span class="number">3200</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">stl_push_back</span><span class="special">,</span> <span class="number">0.093</span><span class="special">,</span> <span class="number">0.097</span><span class="special">,</span> <span class="number">0.119</span><span class="special">,</span> <span class="number">311.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">0.252</span><span class="special">,</span> <span class="number">0.257</span><span class="special">,</span> <span class="number">0.287</span><span class="special">,</span> <span class="number">823.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.100</span><span class="special">,</span> <span class="number">0.108</span><span class="special">,</span> <span class="number">0.209</span><span class="special">,</span> <span class="number">346.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.103</span><span class="special">,</span> <span class="number">0.109</span><span class="special">,</span> <span class="number">0.120</span><span class="special">,</span> <span class="number">347.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_put_for_each</span><span class="special">,</span> <span class="number">0.476</span><span class="special">,</span> <span class="number">0.484</span><span class="special">,</span> <span class="number">0.519</span><span class="special">,</span> <span class="number">1547.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_csv_put</span><span class="special">,</span> <span class="number">0.219</span><span class="special">,</span> <span class="number">0.223</span><span class="special">,</span> <span class="number">0.242</span><span class="special">,</span> <span class="number">714.0</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">0.347</span><span class="special">,</span> <span class="number">0.354</span><span class="special">,</span> <span class="number">0.377</span><span class="special">,</span> <span class="number">1132.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.193</span><span class="special">,</span> <span class="number">0.198</span><span class="special">,</span> <span class="number">0.212</span><span class="special">,</span> <span class="number">633.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.328</span><span class="special">,</span> <span class="number">0.334</span><span class="special">,</span> <span class="number">0.362</span><span class="special">,</span> <span class="number">1067.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_cref_list_of</span><span class="special">,</span> <span class="number">0.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">4.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.012</span><span class="special">,</span> <span class="number">0.013</span><span class="special">,</span> <span class="number">0.017</span><span class="special">,</span> <span class="number">41.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_csv_array</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.002</span><span class="special">,</span> <span class="number">0.006</span><span class="special">,</span> <span class="number">7.3</span><span class="special">}</span>
+<span class="special">}</span>
+<span class="special">{</span>
+<span class="special">{</span><span class="number">1600</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">stl_push_back</span><span class="special">,</span> <span class="number">0.278</span><span class="special">,</span> <span class="number">0.284</span><span class="special">,</span> <span class="number">0.315</span><span class="special">,</span> <span class="number">453.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">0.526</span><span class="special">,</span> <span class="number">0.535</span><span class="special">,</span> <span class="number">0.560</span><span class="special">,</span> <span class="number">856.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.298</span><span class="special">,</span> <span class="number">0.302</span><span class="special">,</span> <span class="number">0.330</span><span class="special">,</span> <span class="number">483.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.299</span><span class="special">,</span> <span class="number">0.304</span><span class="special">,</span> <span class="number">0.323</span><span class="special">,</span> <span class="number">486.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_put_for_each</span><span class="special">,</span> <span class="number">1.020</span><span class="special">,</span> <span class="number">1.030</span><span class="special">,</span> <span class="number">1.086</span><span class="special">,</span> <span class="number">1647.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_csv_put</span><span class="special">,</span> <span class="number">0.412</span><span class="special">,</span> <span class="number">0.418</span><span class="special">,</span> <span class="number">0.443</span><span class="special">,</span> <span class="number">668.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">0.615</span><span class="special">,</span> <span class="number">0.622</span><span class="special">,</span> <span class="number">0.647</span><span class="special">,</span> <span class="number">994.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.369</span><span class="special">,</span> <span class="number">0.375</span><span class="special">,</span> <span class="number">0.398</span><span class="special">,</span> <span class="number">600.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.700</span><span class="special">,</span> <span class="number">0.706</span><span class="special">,</span> <span class="number">0.750</span><span class="special">,</span> <span class="number">1129.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_cref_list_of</span><span class="special">,</span> <span class="number">0.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.002</span><span class="special">,</span> <span class="number">2.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.036</span><span class="special">,</span> <span class="number">0.037</span><span class="special">,</span> <span class="number">0.049</span><span class="special">,</span> <span class="number">59.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_csv_array</span><span class="special">,</span> <span class="number">0.002</span><span class="special">,</span> <span class="number">0.003</span><span class="special">,</span> <span class="number">0.006</span><span class="special">,</span> <span class="number">5.2</span><span class="special">}</span>
+<span class="special">}</span>
+<span class="special">{</span>
+<span class="special">{</span><span class="number">800</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">16</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">stl_push_back</span><span class="special">,</span> <span class="number">0.659</span><span class="special">,</span> <span class="number">0.667</span><span class="special">,</span> <span class="number">0.723</span><span class="special">,</span> <span class="number">533.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">1.150</span><span class="special">,</span> <span class="number">1.159</span><span class="special">,</span> <span class="number">1.225</span><span class="special">,</span> <span class="number">927.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.673</span><span class="special">,</span> <span class="number">0.678</span><span class="special">,</span> <span class="number">0.752</span><span class="special">,</span> <span class="number">542.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.672</span><span class="special">,</span> <span class="number">0.679</span><span class="special">,</span> <span class="number">0.727</span><span class="special">,</span> <span class="number">542.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_put_for_each</span><span class="special">,</span> <span class="number">2.168</span><span class="special">,</span> <span class="number">2.180</span><span class="special">,</span> <span class="number">2.277</span><span class="special">,</span> <span class="number">1743.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_csv_put</span><span class="special">,</span> <span class="number">0.819</span><span class="special">,</span> <span class="number">0.826</span><span class="special">,</span> <span class="number">0.866</span><span class="special">,</span> <span class="number">661.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">1.273</span><span class="special">,</span> <span class="number">1.284</span><span class="special">,</span> <span class="number">1.343</span><span class="special">,</span> <span class="number">1026.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.772</span><span class="special">,</span> <span class="number">0.782</span><span class="special">,</span> <span class="number">0.867</span><span class="special">,</span> <span class="number">625.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">1.450</span><span class="special">,</span> <span class="number">1.469</span><span class="special">,</span> <span class="number">1.635</span><span class="special">,</span> <span class="number">1174.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_cref_list_of</span><span class="special">,</span> <span class="number">0.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.002</span><span class="special">,</span> <span class="number">1.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.113</span><span class="special">,</span> <span class="number">0.114</span><span class="special">,</span> <span class="number">0.136</span><span class="special">,</span> <span class="number">91.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_csv_array</span><span class="special">,</span> <span class="number">0.004</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">0.009</span><span class="special">,</span> <span class="number">4.2</span><span class="special">}</span>
+<span class="special">}</span>
+<span class="special">{</span>
+<span class="special">{</span><span class="number">400</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">32</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">stl_push_back</span><span class="special">,</span> <span class="number">1.274</span><span class="special">,</span> <span class="number">1.286</span><span class="special">,</span> <span class="number">1.381</span><span class="special">,</span> <span class="number">514.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">2.308</span><span class="special">,</span> <span class="number">2.328</span><span class="special">,</span> <span class="number">2.606</span><span class="special">,</span> <span class="number">931.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">1.294</span><span class="special">,</span> <span class="number">1.309</span><span class="special">,</span> <span class="number">1.486</span><span class="special">,</span> <span class="number">523.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">1.285</span><span class="special">,</span> <span class="number">1.296</span><span class="special">,</span> <span class="number">1.454</span><span class="special">,</span> <span class="number">518.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_put_for_each</span><span class="special">,</span> <span class="number">3.985</span><span class="special">,</span> <span class="number">4.022</span><span class="special">,</span> <span class="number">4.267</span><span class="special">,</span> <span class="number">1608.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_do_csv_put</span><span class="special">,</span> <span class="number">1.466</span><span class="special">,</span> <span class="number">1.488</span><span class="special">,</span> <span class="number">1.711</span><span class="special">,</span> <span class="number">595.0</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">2.394</span><span class="special">,</span> <span class="number">2.424</span><span class="special">,</span> <span class="number">2.649</span><span class="special">,</span> <span class="number">969.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">1.369</span><span class="special">,</span> <span class="number">1.379</span><span class="special">,</span> <span class="number">1.457</span><span class="special">,</span> <span class="number">551.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">2.636</span><span class="special">,</span> <span class="number">2.652</span><span class="special">,</span> <span class="number">2.772</span><span class="special">,</span> <span class="number">1060.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_cref_list_of</span><span class="special">,</span> <span class="number">0.004</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">0.008</span><span class="special">,</span> <span class="number">2.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.493</span><span class="special">,</span> <span class="number">0.498</span><span class="special">,</span> <span class="number">0.536</span><span class="special">,</span> <span class="number">199.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_csv_array</span><span class="special">,</span> <span class="number">0.025</span><span class="special">,</span> <span class="number">0.026</span><span class="special">,</span> <span class="number">0.029</span><span class="special">,</span> <span class="number">10.4</span><span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conv.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/port.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/port.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,285 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Portability</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="perf.html" title="Performance">
+<link rel="next" href="support.html" title="Support">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.port"></a><a class="link" href="port.html" title="Portability">Portability</a>
+</h3></div></div></div>
+<p>
+ Click here to view the test suite.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ OS
+ </p>
+ </th>
+<th>
+ <p>
+ Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Option(s)
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ Stable revision
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Mac OS X 10.6.5
+ </p>
+ </td>
+<td>
+ <p>
+ gcc-4.0
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r72520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mac OS X 10.6.5
+ </p>
+ </td>
+<td>
+ <p>
+ gcc-4.2
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r72520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Unix ( Fink )
+ </p>
+ </td>
+<td>
+ <p>
+ gcc-4.4
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r72520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Unix ( Fink )
+ </p>
+ </td>
+<td>
+ <p>
+ gcc-4.4
+ </p>
+ </td>
+<td>
+ <p>
+ C++0x
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r72520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Ubuntu 10.04
+ </p>
+ </td>
+<td>
+ <p>
+ gcc-4.4
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r75520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Ubuntu 10.04
+ </p>
+ </td>
+<td>
+ <p>
+ gcc-4.4
+ </p>
+ </td>
+<td>
+ <p>
+ C++0x
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r75520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Ubuntu 10.04
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://software.intel.com/en-us/articles/intel-compilers/" target="_top">Intel
+ (R) C++ Compiler XE 12.0</a>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.45</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r75520</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a href="http://www.microsoft.com/windowsxp/pro/default.mspx" target="_top">Windows
+ XP </a>
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://www.microsoft.com/express/Downloads/#2010-Visual-CPP" target="_top">MSVC
+ 10.0</a>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <code class="literal">v1.46</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/support.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/support.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Support</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="port.html" title="Portability">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="port.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.support"></a><a class="link" href="support.html" title="Support">Support</a>
+</h3></div></div></div>
+<p>
+ To get help or make a suggestion, post to the <a href="http://www.boost.org/community/groups.html#users" target="_top">Boost
+ Users Mailing List</a>, making sure to notify TO
+ and <a href="mailto:erDOTciDOT2020ATgmailDOTcom" target="_top">ER</a> by cc-ing
+ them.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="port.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/org.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/org.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Organization</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="next" href="tut.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_assign_v2.org"></a><a class="link" href="org.html" title="Organization">Organization</a>
+</h2></div></div></div>
+<a name="org"></a><a name="boost_assign.org.headers"></a><h4>
+<a name="id36331651"></a>
+ <a class="link" href="org.html#boost_assign.org.headers">Headers</a>
+ </h4>
+<a name="org_headers"></a><p>
+ This is a header only template library:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The directory containing Boost
+ has to be in the compiler's search path
+ </li>
+<li class="listitem">
+ Using a given feature of Boost.Assign 2.0
+ only requires including the corresponding header file.
+ </li>
+</ul></div>
+<p>
+ It is advised to include headers selectively, in general, but particularly
+ using C++03 which
+ compiles more slowly <sup>[<a name="id36331704" href="#ftn.id36331704" class="footnote">2</a>]</sup>. Headers can be looked for
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ by module, in directory boost/assign/v2
+ </li>
+<li class="listitem">
+ by identifier, in directory boost/assign/v2/include,
+ <sup>[<a name="id36331810" href="#ftn.id36331810" class="footnote">3</a>]</sup>
+ </li>
+</ul></div>
+<a name="full_include"></a><p>
+ Accordingly, this statement :
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assign</span><span class="special">/</span><span class="identifier">v2</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ includes all the modules <sup>[<a name="id36331935" href="#ftn.id36331935" class="footnote">4</a>]</sup>, and is equivalent to defining all identifiers, as follows:
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assign</span><span class="special">/</span><span class="identifier">v2</span><span class="special">/</span><span class="identifier">include</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ The functionality of <a href="../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a><sup>[<a name="id36332005" href="#ftn.id36332005" class="footnote">5</a>]</sup> does not clash with that versioned 2.0, although it is recommended,
+ for coherence, to use one, but not both, in a given project. The following
+ statement:
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ retrieves the content of version 1.0, not 2.0.
+ </p>
+<a name="boost_assign.org.namespaces"></a><h4>
+<a name="id36332061"></a>
+ <a class="link" href="org.html#boost_assign.org.namespaces">Namespaces</a>
+ </h4>
+<p>
+ The <code class="computeroutput"><span class="keyword">namespace</span></code> organization is
+ summed up below:
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">assign</span><span class="special">{</span>
+
+ <span class="comment">// Boost.Assign (1.0) identifiers
+</span>
+<span class="keyword">namespace</span> <span class="identifier">v2</span><span class="special">{</span>
+
+ <span class="comment">// Boost.Assign 2.0 identifiers
+</span>
+<span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+
+ <span class="comment">// Features pertaining to references
+</span>
+<span class="special">}//</span> <span class="identifier">ref</span>
+<span class="special">}//</span> <span class="identifier">assign</span>
+<span class="special">}//</span> <span class="identifier">v2</span>
+<span class="special">}//</span> <span class="identifier">boost</span>
+</pre>
+<p>
+ </p>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36331704" href="#id36331704" class="para">2</a>] </sup>
+ Due to heavy overloads. As an indication, compiling all of libs/assign/v2/test
+ takes about 6 mn using C++03,
+ and 1 mn using C++0x,
+ under the machine specifaction given <a class="link" href="apx/perf.html#perf">here</a>.
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36331810" href="#id36331810" class="para">3</a>] </sup>
+ Excepted boost/assign/v2/include/option.hpp, which includes <span class="emphasis"><em>all</em></span>
+ the options. See section <a class="link" href="reference/option.html#option">Option</a> for individual
+ headers.
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36331935" href="#id36331935" class="para">4</a>] </sup>
+ A few headers are not included in that of their enclosing module. Where applicable,
+ this will be mentioned
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36332005" href="#id36332005" class="para">5</a>] </sup>
+ The presence of parentheses is to mark the fact that this version number
+ is retrospective : Boost.Assign and Boost.Assign (1.0) designate the same
+ library
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,435 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reference</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="prev" href="tut.html" title="Tutorial">
+<link rel="next" href="reference/conversion.html" title="Conversion">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/conversion.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_assign_v2.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Chain</span></dt>
+<dd><dl>
+<dt><span class="section">Adaptor</span></dt>
+<dt><span class="section">Operator</span></dt>
+</dl></dd>
+<dt><span class="section">Conversion</span></dt>
+<dd><dl>
+<dt><span class="section">Convert</span></dt>
+<dt><span class="section">Converter</span></dt>
+</dl></dd>
+<dt><span class="section">Deque</span></dt>
+<dd><dl>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_deque</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_deque_basic</span></dt>
+<dt><span class="section">Csv_deque_ext</span></dt>
+<dt><span class="section">Result_of</span></dt>
+</dl></dd>
+<dt><span class="section">Deque</span></dt>
+</dl></dd>
+<dt><span class="section">Include</span></dt>
+<dt><span class="section">Interpreter</span></dt>
+<dd><dl>
+<dt><span class="section">Crtp</span></dt>
+<dt><span class="section">Csv</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_basic</span></dt>
+<dt><span class="section">Csv_ext</span></dt>
+</dl></dd>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+</dl></dd>
+<dt><span class="section">Option</span></dt>
+<dd><dl>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+<dd><dl>
+<dt><span class="section">Framework</span></dt>
+<dt><span class="section">Iterate</span></dt>
+<dt><span class="section">Mapped</span></dt>
+<dt><span class="section">Repeat</span></dt>
+<dt><span class="section">Row_major</span></dt>
+<dt><span class="section">Std_modifier</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Put</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_put</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_put_basic</span></dt>
+<dt><span class="section">Csv_put_ext</span></dt>
+</dl></dd>
+<dt><span class="section">Do_csv_put</span></dt>
+<dt><span class="section">Do_put</span></dt>
+<dt><span class="section">Put</span></dt>
+</dl></dd>
+<dt><span class="section">Ref</span></dt>
+<dd><dl>
+<dt><span class="section">Array</span></dt>
+<dd><dl>
+<dt><span class="section">Array</span></dt>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_array</span></dt>
+<dt><span class="section">Get</span></dt>
+<dt><span class="section">Interface</span></dt>
+</dl></dd>
+<dt><span class="section">Wrapper</span></dt>
+<dd><dl>
+<dt><span class="section">Copy</span></dt>
+<dt><span class="section">Crtp</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Support</span></dt>
+<dd><dl>
+<dt><span class="section">Config</span></dt>
+<dt><span class="section">Keyword</span></dt>
+<dt><span class="section">Traits</span></dt>
+</dl></dd>
+</dl></div>
+<a name="boost_assign_v2.reference.conventions"></a><h4>
+<a name="id36338252"></a>
+ <a class="link" href="reference.html#boost_assign_v2.reference.conventions">Conventions</a>
+ </h4>
+<p>
+ This reference adheres to conventions laid out <a class="link" href="apx/conv.html#doc_conv">here</a>.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.chain"></a><a class="link" href="reference.html#boost_assign_v2.reference.chain" title="Chain">Chain</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Adaptor</span></dt>
+<dt><span class="section">Operator</span></dt>
+</dl></div>
+<a name="chain"></a><a name="boost_assign.reference.chain.header"></a><h5>
+<a name="id36338289"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/chain.hpp
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This header does not include <code class="literal">boost/assign/v2/chain/operator.hpp</code>.
+ </p></td></tr>
+</table></div>
+<a name="boost_assign.reference.chain.description"></a><h5>
+<a name="id36338325"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.description">Description</a>
+ </h5>
+<p>
+ A variant of join
+ that caters to <a class="link" href="reference/ref.html" title="Ref">reference arrays</a>
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.chain.adaptor"></a><a class="link" href="reference.html#boost_assign.reference.chain.adaptor" title="Adaptor">Adaptor</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.chain.adaptor.header"></a><h6>
+<a name="id36338364"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.adaptor.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/chain/adaptor.hpp
+ </p>
+<a name="boost_assign.reference.chain.adaptor.description"></a><h6>
+<a name="id36338391"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.adaptor.description">Description</a>
+ </h6>
+<p>
+ <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">Range
+ adaptor</a> syntax.
+ </p>
+<a name="boost_assign.reference.chain.adaptor.synopsis"></a><h6>
+<a name="id36338415"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.adaptor.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">chain_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">adaptor1</span><span class="special">;</span>
+
+ <span class="keyword">struct</span> <span class="identifier">adaptor2</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">chain</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">R1</span> <span class="special">&amp;</span> <span class="identifier">r1</span><span class="special">,</span> <span class="identifier">chain_aux</span><span class="special">::</span><span class="identifier">adaptor1</span><span class="special">&lt;</span><span class="identifier">U2</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U2</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">chain</span><span class="special">&lt;</span><span class="identifier">R1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">U2</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">R1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r1</span><span class="special">,</span> <span class="identifier">chain_aux</span><span class="special">::</span><span class="identifier">adaptor1</span><span class="special">&lt;</span><span class="identifier">U2</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">chain_aux</span>
+
+ <span class="keyword">const</span> <span class="identifier">chain_aux</span><span class="special">::</span><span class="identifier">adaptor2</span> <span class="identifier">_chain</span><span class="special">;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">chain_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">chain</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+<a name="chain_adapter"></a><a name="boost_assign.reference.chain.adaptor.semantics"></a><h6>
+<a name="id36338909"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.adaptor.semantics">Semantics</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Notation</strong></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">chained</span></code></span></dt>
+<dd><p>
+ result of <code class="computeroutput"><span class="identifier">r1</span> <span class="special">|</span>
+ _chain<span class="special">(</span> <span class="identifier">r2</span>
+ <span class="special">)</span></code>
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Expressions</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Value
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">*(</span> <span class="identifier">i</span>
+ <span class="special">+</span> <span class="identifier">begin</span><span class="special">(</span> <span class="identifier">chained</span>
+ <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">*(</span> <span class="identifier">i</span>
+ <span class="special">&lt;</span> <span class="identifier">size</span><span class="special">(</span> <span class="identifier">r1</span>
+ <span class="special">)</span> <span class="special">?</span>
+ <span class="identifier">i</span> <span class="special">+</span>
+ <span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">r1</span> <span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">i</span>
+ <span class="special">-</span> <span class="identifier">size</span><span class="special">(</span> <span class="identifier">r1</span>
+ <span class="special">)</span> <span class="special">+</span>
+ <span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">r2</span> <span class="special">)</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ Although a reference array is (generally) generated in place, its elements
+ may be convertible to non-const lvalue references. Chaining preserves this
+ property.
+ </p>
+<a name="boost_assign.reference.chain.adaptor.examples"></a><h6>
+<a name="id36339226"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.adaptor.examples">Examples</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">word</span><span class="special">;</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="string">"O"</span><span class="special">,</span> <span class="string">"R"</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_chain</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="string">"B"</span><span class="special">,</span> <span class="string">"I"</span><span class="special">,</span> <span class="string">"T"</span> <span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span><span class="special">(</span> <span class="identifier">word</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">word</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span> <span class="string">"O"</span><span class="special">,</span> <span class="string">"R"</span><span class="special">,</span> <span class="string">"B"</span><span class="special">,</span> <span class="string">"I"</span><span class="special">,</span> <span class="string">"T"</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">head</span><span class="special">;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tail</span><span class="special">(</span> <span class="number">2</span> <span class="special">);</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <span class="identifier">head</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_chain</span><span class="special">(</span> <span class="identifier">tail</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">head</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">tail</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.chain.operator"></a><a class="link" href="reference.html#boost_assign.reference.chain.operator" title="Operator">Operator</a>
+</h4></div></div></div>
+<a name="chain_operator"></a><a name="boost_assign.reference.chain.operator.header"></a><h6>
+<a name="id36340070"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.operator.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/chain/operator.hpp
+ </p>
+<a name="boost_assign.reference.chain.operator.description"></a><h6>
+<a name="id36340097"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.operator.description">Description</a>
+ </h6>
+<p>
+ Equivalent semantics, different syntax, using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;&amp;</span></code>. While convenient, it is controversial.
+ Therefore, no header other than the one shown under <span class="bold"><strong>Header</strong></span>
+ defines this alternative syntax.
+ </p>
+<a name="boost_assign.reference.chain.operator.semantics"></a><h6>
+<a name="id36340139"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.operator.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r1</span> <span class="special">&amp;&amp;</span>
+ <span class="identifier">r2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">r1</span> <span class="special">|</span> _chain<span class="special">(</span>
+ <span class="identifier">r2</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.chain.operator.example"></a><h6>
+<a name="id36340249"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.operator.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span> <span class="number">8</span> <span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span><span class="identifier">source</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">4</span><span class="special">&gt;</span> <span class="identifier">head</span><span class="special">;</span> <span class="keyword">int</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">l</span><span class="special">;</span>
+
+<a class="co" name="boost_assign6co" href="reference.html#boost_assign6"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">head</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><a class="co" name="boost_assign7co" href="reference.html#boost_assign7"><img src="../../../doc/src/images/callouts/2.png" alt="2" border="0"></a><span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">l</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">head</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">t</span> <span class="special">==</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">==</span> <span class="number">6</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">i</span> <span class="special">==</span> <span class="number">7</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">l</span> <span class="special">==</span> <span class="number">8</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list">
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign6"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Brings <code class="computeroutput"><span class="special">&amp;&amp;</span></code> to scope
+ </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign7"></a>2 </p></td>
+<td valign="top" align="left"><p>
+ rvalue!
+ </p></td>
+</tr>
+</table></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/conversion.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/conversion.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/conversion.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,428 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Conversion</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="deque.html" title="Deque">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deque.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.conversion"></a><a class="link" href="conversion.html" title="Conversion">Conversion</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Convert</span></dt>
+<dt><span class="section">Converter</span></dt>
+</dl></div>
+<a name="conversion"></a><a name="boost_assign.reference.conversion.header"></a><h5>
+<a name="id36340920"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/conversion.hpp
+ </p>
+<a name="boost_assign.reference.conversion.description"></a><h5>
+<a name="id36340943"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.description">Description</a>
+ </h5>
+<p>
+ Range-to-container conversion
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.conversion.convert"></a><a class="link" href="conversion.html#boost_assign.reference.conversion.convert" title="Convert">Convert</a>
+</h4></div></div></div>
+<a name="convert"></a><a name="boost_assign.reference.conversion.convert.header"></a><h6>
+<a name="id36340976"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.convert.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/conversion/convert.hpp
+ </p>
+<a name="boost_assign.reference.conversion.convert.description"></a><h6>
+<a name="id36341004"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.convert.description">Description</a>
+ </h6>
+<p>
+ Explicit conversion.
+ </p>
+<a name="boost_assign.reference.conversion.convert.synopsis"></a><h6>
+<a name="id36341023"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.convert.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">conversion_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">convert</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="identifier">C</span> <span class="keyword">operator</span><span class="special">|(</span> <span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Arg</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">adapter</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">conversion_aux</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">convert</span>
+ <span class="special">{</span>
+
+ <span class="identifier">convert</span><span class="special">();</span>
+ <span class="identifier">convert</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg1</span><span class="special">&gt;</span>
+ <span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Arg1</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span><span class="special">^(</span><span class="identifier">Arg1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg1</span><span class="special">);</span>
+
+ <span class="special">};</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.conversion.convert.semantics"></a><h6>
+<a name="id36341450"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.convert.semantics">Semantics</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Expressions</strong></span>
+ </p>
+<p>
+ <code class="computeroutput">r <span class="special">|</span> convert<span class="special">&lt;</span>C<span class="special">&gt;()</span></code> is defined as the switch below:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Case
+ </p>
+ </th>
+<th>
+ <p>
+ Statement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is either an Array
+ or an Adapter
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">C cont<span class="special">;</span> csv_put<span class="special">(</span> <span class="identifier">cont</span><span class="special">,</span> as_arg_list<span class="special">(</span>
+ r <span class="special">)</span> <span class="special">)</span></code>
+ and returns <code class="computeroutput">cont</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is a multi_array
+ </p>
+ </td>
+<td>
+ <p>
+ Undefined
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Otherwise
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput">C<span class="special">(</span> <span class="identifier">begin</span><span class="special">(</span> r <span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span>
+ r <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ If an argument is passed, <code class="computeroutput">r <span class="special">|</span> convert<span class="special">&lt;</span>C<span class="special">&gt;(</span> <span class="identifier">arg</span> <span class="special">)</span></code>,
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Case
+ </p>
+ </th>
+<th>
+ <p>
+ Statement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is either an Array,
+ Adapter
+ or a multi_array
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">C cont<span class="special">(</span> <span class="identifier">arg</span>
+ <span class="special">);</span> csv_put<span class="special">(</span>
+ <span class="identifier">cont</span><span class="special">,</span>
+ as_arg_list<span class="special">(</span> r <span class="special">)</span>
+ <span class="special">)</span></code> and returns <code class="computeroutput">cont</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Otherwise
+ </p>
+ </td>
+<td>
+ <p>
+ Undefined
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign.reference.conversion.convert.example"></a><h6>
+<a name="id36342002"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.convert.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">stack</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+
+<span class="identifier">C</span> <span class="identifier">lifo</span><span class="special">;</span> <span class="identifier">lifo</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">lifo</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span> <span class="number">2</span> <span class="special">);</span> <span class="identifier">lifo</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span> <span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;()</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">lifo</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.conversion.converter"></a><a class="link" href="conversion.html#boost_assign.reference.conversion.converter" title="Converter">Converter</a>
+</h4></div></div></div>
+<a name="converter"></a><a name="boost_assign.reference.conversion.converter.header"></a><h6>
+<a name="id36342294"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/conversion/converter.hpp
+ </p>
+<a name="boost_assign.reference.conversion.converter.description"></a><h6>
+<a name="id36342319"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.description">Description</a>
+ </h6>
+<p>
+ Implicit conversion.
+ </p>
+<a name="boost_assign.reference.conversion.converter.synopsis"></a><h6>
+<a name="id36342338"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">conversion_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">converter</span>
+ <span class="special">{</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">converter</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">source</span><span class="special">);</span>
+
+ <span class="identifier">converter</span><span class="special">(</span>
+ <span class="keyword">typename</span> <span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span>
+ <span class="special">);</span>
+
+ <span class="comment">// Implicit conversion
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="identifier">C</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Explicit converion
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="identifier">C</span> <span class="identifier">type</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">conversion_aux</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">converter</span><span class="special">;</span>
+
+<span class="special">}//</span><span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">converter</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">Arg</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">converter</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.conversion.converter.semantics"></a><h6>
+<a name="id36342983"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.semantics">Semantics</a>
+ </h6>
+<p>
+ See section <a class="link" href="conversion.html#convert">Convert</a>.
+ </p>
+<a name="boost_assign.reference.conversion.converter.example"></a><h6>
+<a name="id36343008"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">source</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">fifo</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">converter</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="number">3</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">R</span><span class="special">;</span>
+<span class="identifier">R</span> <span class="identifier">benchmark</span><span class="special">(</span> <span class="number">10</span> <span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">source</span><span class="special">(</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">10</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">stack</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">array2_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">array2_</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">dim_</span><span class="special">;</span>
+<span class="identifier">dim_</span> <span class="identifier">dim1</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">dim2</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">array2_</span> <span class="identifier">array2</span> <span class="special">=</span> <span class="identifier">converter</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">extents</span><span class="special">[</span><span class="identifier">dim1</span><span class="special">][</span><span class="identifier">dim2</span><span class="special">]</span>
+<span class="special">);</span>
+
+<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">benchmark</span> <span class="special">[]</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span>
+<span class="special">};</span>
+<span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">num_elements</span><span class="special">();</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">()</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">benchmark</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deque.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/deque.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/deque.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,630 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Deque</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="conversion.html" title="Conversion">
+<link rel="next" href="include.html" title="Include">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conversion.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="include.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.deque"></a><a class="link" href="deque.html" title="Deque">Deque</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_deque</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_deque_basic</span></dt>
+<dt><span class="section">Csv_deque_ext</span></dt>
+<dt><span class="section">Result_of</span></dt>
+</dl></dd>
+<dt><span class="section">Deque</span></dt>
+</dl></div>
+<a name="boost_assign.reference.deque.header"></a><h5>
+<a name="id36344825"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/deque.hpp
+ </p>
+<a name="boost_assign.reference.deque.description"></a><h5>
+<a name="id36344892"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.description">Description</a>
+ </h5>
+<p>
+ Interpreter that generates a deque container.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.deque.conversion"></a><a class="link" href="deque.html#boost_assign.reference.deque.conversion" title="Conversion">Conversion</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.deque.conversion.header"></a><h6>
+<a name="id36344927"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.conversion.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/deque/conversion.hpp
+ </p>
+<a name="boost_assign.reference.deque.conversion.description"></a><h6>
+<a name="id36345003"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.conversion.description">Description</a>
+ </h6>
+<p>
+ ADL version of <a class="link" href="conversion.html#converter">converter</a>
+ </p>
+<a name="boost_assign.reference.deque.conversion.example"></a><h6>
+<a name="id36345030"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.conversion.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">5</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+<span class="identifier">C</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">ar</span> <span class="special">=</span> <a class="co" name="boost_assign8co" href="deque.html#boost_assign8"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">converter</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">ar</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign8"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Notice unqualified
+ </p></td>
+</tr></table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.deque.csv_deque"></a><a class="link" href="deque.html#boost_assign.reference.deque.csv_deque" title="Csv_deque">Csv_deque</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Csv_deque_basic</span></dt>
+<dt><span class="section">Csv_deque_ext</span></dt>
+<dt><span class="section">Result_of</span></dt>
+</dl></div>
+<a name="csv_deque"></a><a name="boost_assign.reference.deque.csv_deque.header"></a><h6>
+<a name="id36345384"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/deque/csv_deque.hpp
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.description"></a><h6>
+<a name="id36345460"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.description">Description</a>
+ </h6>
+<p>
+ The csv-form designates a syntax that is dual to a functor, that is charaterized
+ by an arity parameter, <code class="literal">I</code>. One invocation of the csv-form
+ with an argument list of size <code class="literal">Ixn</code> is equivalent to
+ <code class="literal">n</code> invocations of the functor, each with I arguments.
+ This form has two variants : basic (size equals one) and extended (size
+ is specified by an integer template parameter).
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_unary"></a><a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_unary" title="Csv_deque_basic">Csv_deque_basic</a>
+</h5></div></div></div>
+<a name="csv_deque_basic"></a><a name="boost_assign.reference.deque.csv_deque.csv_deque_unary.header"></a><h6>
+<a name="id36345520"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_unary.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/deque/csv_deque/csv_deque_basic.hpp
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_unary.description"></a><h6>
+<a name="id36345605"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_unary.description">Description</a>
+ </h6>
+<p>
+ The basic version of the csv-form assumes an arity of one, I = 1
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_unary.synopsis"></a><h6>
+<a name="id36345629"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_unary.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="comment">// Explicit value
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lazy_enable_if</span><span class="special">&lt;</span>
+ <span class="identifier">is_option</span><span class="special">&lt;</span><span class="identifier">Options</span><span class="special">&gt;,</span>
+ <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque_option</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="comment">// Deduced value
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;&amp;</span> <span class="identifier">_0</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_unary.example"></a><h6>
+<a name="id36346133"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_unary.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">[</span><span class="number">2</span><span class="special">]&gt;::</span><span class="identifier">type</span> <span class="identifier">C1</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span> <span class="identifier">result1_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">C2</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">result2_</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C1</span><span class="special">,</span> <span class="identifier">result1_</span><span class="special">&gt;</span> <span class="special">));</span>
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C2</span><span class="special">,</span> <span class="identifier">result2_</span><span class="special">&gt;</span> <span class="special">));</span>
+
+<span class="identifier">C1</span> <span class="identifier">deque1</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="string">"x"</span><span class="special">,</span> <span class="string">"y"</span><span class="special">,</span> <span class="string">"z"</span> <span class="special">);</span> <span class="comment">// Implicit
+</span><span class="identifier">C2</span> <span class="identifier">deque2</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span> <span class="string">"x"</span><span class="special">,</span> <span class="string">"y"</span><span class="special">,</span> <span class="string">"z"</span> <span class="special">);</span> <span class="comment">// Explicit
+</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">benchmark</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"x"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"y"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">deque1</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">deque2</span> <span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">C</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="special">));</span>
+
+<span class="identifier">C</span> <span class="identifier">deque</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span> <span class="string">"x"</span><span class="special">,</span> <span class="string">"y"</span><span class="special">,</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">benchmark</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"x"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"y"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">deque</span> <span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">C</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="special">));</span>
+
+<span class="identifier">C</span> <span class="identifier">series1</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">8</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">benchmark</span><span class="special">;</span> <span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">0</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">1</span> <span class="special">);</span> <span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">2</span> <span class="special">);</span> <span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">5</span> <span class="special">);</span> <span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="number">8</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">series1</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">C</span> <span class="identifier">series2</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span> <span class="special">)(</span> <span class="number">2</span> <span class="special">)(</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">5</span> <span class="special">)(</span> <span class="number">8</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">series2</span> <span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_ext"></a><a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_ext" title="Csv_deque_ext">Csv_deque_ext</a>
+</h5></div></div></div>
+<a name="csv_deque_ext"></a><a name="boost_assign.reference.deque.csv_deque.csv_deque_ext.header"></a><h6>
+<a name="id36348102"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_ext.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/deque/csv_deque/csv_deque_ext.hpp
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_ext.description"></a><h6>
+<a name="id36348187"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_ext.description">Description</a>
+ </h6>
+<p>
+ In the extended version of the csv-form, arity I is specified by an integer
+ template parameter
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_ext.synopsis"></a><h6>
+<a name="id36348211"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_ext.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span><span class="special">&lt;</span>
+ <span class="identifier">is_option</span><span class="special">&lt;</span><span class="identifier">Options</span><span class="special">&gt;,</span>
+ <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque_option</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.csv_deque_ext.example"></a><h6>
+<a name="id36348638"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.csv_deque_ext.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">state_</span> <span class="special">[</span><span class="number">3</span><span class="special">];</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">code_</span><span class="special">;</span>
+<span class="identifier">state_</span> <span class="identifier">ct</span> <span class="special">=</span> <span class="string">"CT"</span><span class="special">,</span> <span class="identifier">nj</span> <span class="special">=</span> <span class="string">"NJ"</span><span class="special">,</span> <span class="identifier">ny</span> <span class="special">=</span> <span class="string">"NY"</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">state_</span><a class="co" name="boost_assign9co" href="deque.html#boost_assign9"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="special">&amp;,</span> <span class="identifier">code_</span><span class="special">&gt;</span> <span class="identifier">data_</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span>
+ <span class="identifier">data_</span>
+<span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">region</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">data_</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;(</span>
+ <span class="identifier">ny</span><span class="special">,</span> <span class="number">212</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">718</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">516</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">914</span><span class="special">,</span>
+ <span class="identifier">nj</span><span class="special">,</span> <span class="number">210</span><span class="special">,</span> <span class="identifier">nj</span><span class="special">,</span> <span class="number">908</span><span class="special">,</span> <span class="identifier">nj</span><span class="special">,</span> <span class="number">609</span><span class="special">,</span>
+ <span class="identifier">ct</span><span class="special">,</span> <span class="number">203</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="identifier">ny</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">203</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">212</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="identifier">ct</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign9"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Notice the reference
+ </p></td>
+</tr></table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.deque.csv_deque.result_of_csv_deque"></a><a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.result_of_csv_deque" title="Result_of">Result_of</a>
+</h5></div></div></div>
+<a name="result_of_csv_deque"></a><a name="boost_assign.reference.deque.csv_deque.result_of_csv_deque.header"></a><h6>
+<a name="id36349385"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.result_of_csv_deque.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/deque/csv_deque/result_of.hpp
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.result_of_csv_deque.description"></a><h6>
+<a name="id36349470"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.result_of_csv_deque.description">Description</a>
+ </h6>
+<p>
+ Extended form
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.result_of_csv_deque.synopsis"></a><h6>
+<a name="id36349493"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.result_of_csv_deque.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">csv_deque_deduce_value</span><span class="special">;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">csv_deque</span>
+ <span class="special">:</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">csv_deque_deduce_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">csv_deque_option</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.deque.deque"></a><a class="link" href="deque.html#boost_assign.reference.deque.deque" title="Deque">Deque</a>
+</h4></div></div></div>
+<a name="deque"></a><a name="boost_assign.reference.deque.deque.header"></a><h6>
+<a name="id36349835"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.deque.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/deque/deque.hpp
+ </p>
+<a name="boost_assign.reference.deque.deque.description"></a><h6>
+<a name="id36349910"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.deque.description">Description</a>
+ </h6>
+<p>
+ Functor form
+ </p>
+<a name="boost_assign.reference.deque.deque.synopsis"></a><h6>
+<a name="id36349931"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.deque.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deque_impl</span><span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">deque_interpreter</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">interpreter_crtp</span><span class="special">&lt;</span>
+ <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <span class="identifier">deque_impl</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">data_tag</span><span class="special">::</span><span class="identifier">value</span>
+ <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deque_impl</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">impl_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">interpreter_modifier</span><span class="special">&lt;</span><span class="identifier">MTag</span><span class="special">&gt;</span> <span class="identifier">modifier_</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">size_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">const_reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">difference_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor
+</span> <span class="identifier">deque_interpreter</span><span class="special">();</span>
+ <span class="identifier">deque_interpreter</span><span class="special">(</span>
+ <span class="identifier">impl_</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">modifier_</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">m</span>
+ <span class="special">);</span>
+
+
+ <span class="comment">// Move constructor
+</span> <span class="identifier">deque_interpreter</span><span class="special">(</span><span class="identifier">deque_interpreter</span><span class="special">&amp;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+
+ <span class="comment">// Move assignment
+</span> <span class="identifier">deque_interpreter</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">deque_interpreter</span><span class="special">&amp;&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+ <span class="comment">// Deque interface
+</span> <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">size_type</span> <span class="identifier">max_size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span><span class="keyword">const</span><span class="special">;;</span>
+ <span class="identifier">const_reference</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">n</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <span class="identifier">front</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">front</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <span class="identifier">back</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">back</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">pop_front</span><span class="special">();</span>
+ <span class="keyword">void</span> <span class="identifier">pop_back</span><span class="special">();</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">deque_interpreter</span><span class="special">&amp;</span> <span class="identifier">that</span><span class="special">);</span>
+
+ <span class="identifier">impl_</span><span class="special">&amp;</span> <span class="identifier">container</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_data_generator</span><span class="special">&lt;</span> <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_modifier_tag</span><span class="special">&lt;</span> <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">MTag1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">{</span>
+ <span class="identifier">unspecified</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deque</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">t_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deque_impl</span><span class="special">&lt;</span><span class="identifier">t_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">impl_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deduce_data_generator</span><span class="special">&lt;</span><span class="identifier">impl_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">f_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deduce_modifier_tag</span><span class="special">&lt;</span><span class="identifier">impl_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">modifier_tag_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">t_</span><span class="special">,</span> <span class="identifier">f_</span><span class="special">,</span> <span class="identifier">modifier_tag_</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deque_option</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Empty
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque_option</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Options</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="comment">// Not empty
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span><span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span><span class="identifier">args</span><span class="special">);</span>
+
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">deque</span><span class="special">;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.deque.deque.semantics"></a><h6>
+<a name="id36352378"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.deque.semantics">Semantics</a>
+ </h6>
+<p>
+ The methods have the same semantics as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>.
+ Methods <code class="computeroutput"><span class="identifier">push_back</span></code> and
+ <code class="computeroutput"><span class="identifier">push_front</span></code> are ommitted
+ as their side effect can be obtained by invoking <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>, by default, and after passing option
+ <a class="link" href="option.html#std_modifier">_push_front</a>, respectively.
+ </p>
+<a name="boost_assign.reference.deque.deque.example"></a><h6>
+<a name="id36352458"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.deque.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span> <span class="identifier">C</span><span class="special">;</span>
+
+<span class="identifier">C</span> <span class="identifier">deque</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;(</span> <span class="string">"x"</span> <span class="special">)(</span> <span class="string">"y"</span> <span class="special">)(</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">benchmark</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"x"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"y"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">deque</span> <span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">benchmark</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">y</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">word_</span><span class="special">(</span> <span class="string">"qux"</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">C</span><span class="special">;</span>
+<span class="identifier">C</span> <span class="identifier">cont1</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont1</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span> <span class="special">);</span>
+
+<span class="identifier">cont1</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="string">"qux"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">cont1</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">C</span> <span class="identifier">cont2</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;(</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="string">"qux"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">cont2</span> <span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conversion.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="include.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/include.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/include.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Include</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="deque.html" title="Deque">
+<link rel="next" href="interpreter.html" title="Interpreter">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="deque.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interpreter.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.include"></a><a class="link" href="include.html" title="Include">Include</a>
+</h3></div></div></div>
+<a name="include"></a><a name="boost_assign.reference.include.header"></a><h5>
+<a name="id36353709"></a>
+ <a class="link" href="include.html#boost_assign.reference.include.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/include.hpp
+ </p>
+<a name="boost_assign.reference.include.description"></a><h5>
+<a name="id36353776"></a>
+ <a class="link" href="include.html#boost_assign.reference.include.description">Description</a>
+ </h5>
+<p>
+ Includes all the headers or subdirectories in the directory
+ by that name. This directory collects headers that, save for one exception,
+ are named after an identifier. The exception is header boost/assign/v2/include/option.hpp
+ that defines all the options. To include only a specific option, refer to
+ section <a class="link" href="option.html" title="Option">Option</a>.
+ </p>
+<p>
+ Also see section <a class="link" href="../org.html#org_headers">Organization</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="deque.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interpreter.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/interpreter.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/interpreter.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,635 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Interpreter</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="include.html" title="Include">
+<link rel="next" href="option.html" title="Option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="include.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="option.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.interpreter"></a><a class="link" href="interpreter.html" title="Interpreter">Interpreter</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Crtp</span></dt>
+<dt><span class="section">Csv</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_basic</span></dt>
+<dt><span class="section">Csv_ext</span></dt>
+</dl></dd>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+</dl></div>
+<a name="boost_assign.reference.interpreter.header"></a><h5>
+<a name="id36353892"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/interpreter.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.description"></a><h5>
+<a name="id36353959"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.description">Description</a>
+ </h5>
+<p>
+ Interpreter framework
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.interpreter.crtp"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.crtp" title="Crtp">Crtp</a>
+</h4></div></div></div>
+<a name="interpreter_crtp"></a><a name="boost_assign.reference.interpreter.crtp.header"></a><h6>
+<a name="id36354001"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.crtp.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/crtp.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.crtp.description"></a><h6>
+<a name="id36354076"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.crtp.description">Description</a>
+ </h6>
+<p>
+ A crtp class that exposes a functor interface. Arguments are forwarded
+ to a data-generator whose result is forwarded to a container modifier.
+ </p>
+<a name="boost_assign.reference.interpreter.crtp.synopsis"></a><h6>
+<a name="id36354099"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.crtp.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">D</span> <span class="comment">// Derived
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Container
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span> <span class="comment">// Data generator
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span> <span class="comment">// Modifier tag
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span> <span class="comment">// Data tag
+</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">interpreter_crtp</span>
+ <span class="special">{</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">interpreter_modifier</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span>
+ <span class="identifier">modifier_type</span><span class="special">;</span>
+
+ <span class="identifier">interpreter_crtp</span><span class="special">(){}</span>
+ <span class="keyword">explicit</span> <span class="identifier">interpreter_crtp</span><span class="special">(</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span> <span class="special">);</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">(</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">modifier_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">m</span> <span class="special">);</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">D</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span><span class="identifier">args</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">R</span> <span class="comment">// Range of tuples, each of size I
+</span> <span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.interpreter.csv"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv" title="Csv">Csv</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Csv_basic</span></dt>
+<dt><span class="section">Csv_ext</span></dt>
+</dl></div>
+<a name="interpreter_csv"></a><a name="boost_assign.reference.interpreter.csv.header"></a><h6>
+<a name="id36354715"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/csv.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.csv.description"></a><h6>
+<a name="id36354791"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.description">Description</a>
+ </h6>
+<p>
+ Extends the interface of <a class="link" href="interpreter.html#interpreter_crtp"><code class="computeroutput"><span class="identifier">interpreter_crtp</span></code></a> with a csv-syntax.
+ The csv-form designates a syntax that is dual to a functor, that is charaterized
+ by an arity parameter, <code class="literal">I</code>. One invocation of the csv-form
+ with an argument list of size <code class="literal">Ixn</code> is equivalent to
+ <code class="literal">n</code> invocations of the functor, each with I arguments.
+ This form has two variants : basic (size equals one) and extended (size
+ is specified by an integer template parameter).
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.interpreter.csv.csv_basic"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_basic" title="Csv_basic">Csv_basic</a>
+</h5></div></div></div>
+<a name="interpreter_csv_basic"></a><a name="boost_assign.reference.interpreter.csv.csv_basic.header"></a><h6>
+<a name="id36354866"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_basic.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/csv/csv_basic.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.csv.csv_basic.description"></a><h6>
+<a name="id36354951"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_basic.description">Description</a>
+ </h6>
+<p>
+ The basic version of the csv-form assumes an arity of one, I = 1
+ </p>
+<a name="boost_assign.reference.interpreter.csv.csv_basic.synopsis"></a><h6>
+<a name="id36354974"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_basic.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">,</span>
+ <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span>
+ <span class="special">&gt;</span>
+ <span class="identifier">D</span> <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">interpreter</span><span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span>
+ <span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.interpreter.csv.csv_ext"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_ext" title="Csv_ext">Csv_ext</a>
+</h5></div></div></div>
+<a name="interpreter_csv_ext"></a><a name="boost_assign.reference.interpreter.csv.csv_ext.header"></a><h6>
+<a name="id36355292"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_ext.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/csv/csv_ext.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.csv.csv_ext.description"></a><h6>
+<a name="id36355376"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_ext.description">Description</a>
+ </h6>
+<p>
+ In the extended version of the csv-form, arity I is specified by an integer
+ template parameter
+ </p>
+<a name="boost_assign.reference.interpreter.csv.csv_ext.synopsis"></a><h6>
+<a name="id36355399"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.csv.csv_ext.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span>
+ <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Cast</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">,</span>
+ <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span>
+ <span class="special">&gt;</span>
+ <span class="identifier">D</span> <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">interpreter</span><span class="special">,</span>
+ <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span>
+ <span class="special">);</span>
+
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.interpreter.data"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.data" title="Data">Data</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.interpreter.data.header"></a><h6>
+<a name="id36355745"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.data.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/data.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.data.description"></a><h6>
+<a name="id36355822"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.data.description">Description</a>
+ </h6>
+<p>
+ Interpreter's data generator. An interpreter's arguments are forwarded
+ to the data-generator whose task is to generate a suitable data-element.
+ </p>
+<a name="boost_assign.reference.interpreter.data.synopsis"></a><h6>
+<a name="id36355845"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.data.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">switch_tag</span><span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">{};</span>
+<span class="special">}//</span> <span class="identifier">switch_tag</span>
+
+
+<span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Value- or pointer-container
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deduce_data_generator</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.interpreter.data.semantics"></a><h6>
+<a name="id36355982"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.data.semantics">Semantics</a>
+ </h6>
+<a name="data_gen_rules"></a><p>
+ <span class="bold"><strong>Notation</strong></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput">C</code></span></dt>
+<dd><p>
+ Container type
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">object</code></span></dt>
+<dd><p>
+ Instance of <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">deduce_data_generator</span><span class="special">&lt;</span>C<span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">E</code></span></dt>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">container_value_element</span><span class="special">&lt;</span>C<span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">D</code></span></dt>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">container_value_mapped</span><span class="special">&lt;</span>C<span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">T</code></span></dt>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">container_value_value</span><span class="special">&lt;</span>C<span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Expressions</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Case
+ </p>
+ </th>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is a map
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">object<span class="special">(</span> k<span class="special">,</span>
+ args... <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">T<span class="special">(</span>k<span class="special">,</span>
+ D<span class="special">(</span> args... <span class="special">)</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is a multi-array
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">object<span class="special">(</span> args... <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">E<span class="special">(</span> args... <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Otherwise
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">object<span class="special">(</span> args... <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">T<span class="special">(</span> args... <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ See supported <a class="link" href="../apx/cont.html#containers">containers</a>.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.interpreter.modifier"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.modifier" title="Modifier">Modifier</a>
+</h4></div></div></div>
+<a name="interpreter_modifier"></a><a name="boost_assign.reference.interpreter.modifier.header"></a><h6>
+<a name="id36356479"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.modifier.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/modifier.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.modifier.description"></a><h6>
+<a name="id36356554"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.modifier.description">Description</a>
+ </h6>
+<p>
+ Interpreter's modifier. The value supplied by the data-generator is forwarded
+ to the interpreter's modifier, whose job is to insert that value in a container.
+ </p>
+<a name="boost_assign.reference.interpreter.modifier.synopsis"></a><h6>
+<a name="id36356577"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.modifier.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">modifier_tag</span><span class="special">{</span>
+
+ <span class="comment">// Namespace in which to declare template arguments of interpreter_modifier&lt;&gt;
+</span>
+<span class="special">}//</span><span class="identifier">modifier_tag</span>
+<span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">interpreter_modifier</span>
+ <span class="special">{</span>
+ <span class="comment">// Specialize on Tag to model ConceptModifier
+</span> <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">ConceptModifier</span>
+ <span class="special">{</span>
+
+ <span class="identifier">BOOST_CONCEPT_USAGE</span><span class="special">(</span><span class="identifier">ConceptModifier</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">m</span><span class="special">.</span><span class="identifier">impl</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">()</span> <span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">static</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">interpreter_modifier</span><span class="special">&lt;</span><span class="identifier">MTag</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="identifier">T</span> <span class="identifier">t</span><span class="special">;</span>
+ <span class="special">};</span>
+
+<span class="special">}//</span><span class="identifier">interpreter_aux</span>
+
+<span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Container
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deduce_modifier_tag</span><span class="special">;</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Container
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deduce_data_tag</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Parameters</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">MTag</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies a modifier
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">DTag</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies an aspect of the implementation depending on <code class="computeroutput">C</code>'s
+ storage (value or pointer) and modifier interface (maps require
+ a special treatment).
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign.reference.interpreter.modifier.semantics"></a><h6>
+<a name="id36357191"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.modifier.semantics">Semantics</a>
+ </h6>
+<a name="modifier_rules"></a><p>
+ Metafunction <code class="computeroutput"><span class="identifier">deduce_modifier_tag</span><span class="special">&lt;</span>C<span class="special">&gt;</span></code>
+ implements the following switch statement:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Case
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is multi_array
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#row_major"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">row_major</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is Associative
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#std_modifier"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">insert</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is an Array
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#option_iterate"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">iterate</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is an Adapter
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#std_modifier"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ None of the above
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#std_modifier"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push_back</span></code></a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ See <a class="link" href="../apx/cont.html#containers">Containers</a> supported.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="include.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="option.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/option.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/option.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,1240 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Option</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="interpreter.html" title="Interpreter">
+<link rel="next" href="put.html" title="Put">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interpreter.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="put.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.option"></a><a class="link" href="option.html" title="Option">Option</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+<dd><dl>
+<dt><span class="section">Framework</span></dt>
+<dt><span class="section">Iterate</span></dt>
+<dt><span class="section">Mapped</span></dt>
+<dt><span class="section">Repeat</span></dt>
+<dt><span class="section">Row_major</span></dt>
+<dt><span class="section">Std_modifier</span></dt>
+</dl></dd>
+</dl></div>
+<a name="option"></a><a name="boost_assign.reference.option.header"></a><h5>
+<a name="id36357537"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/option.hpp
+ </p>
+<a name="boost_assign.reference.option.description"></a><h5>
+<a name="id36357603"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.description">Description</a>
+ </h5>
+<p>
+ An <a class="link" href="interpreter.html" title="Interpreter">interpreter</a>
+ is a class derived from <a class="link" href="interpreter.html" title="Interpreter">interpreter_crtp&lt;&gt;</a>
+ which has, as part of its components, a data-generator, and a modifier. Options
+ are an interface for overriding either of these two components.
+ </p>
+<a name="boost_assign.reference.option.semantics"></a><h5>
+<a name="id36357640"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.semantics">Semantics</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">interpreter % option1 ... % optionm</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an interpreter with a modified type or state
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.option.notation"></a><h5>
+<a name="id36357715"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.notation">Notation</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">args</span><span class="special">...</span></code></span></dt>
+<dd><p>
+ Arguments passed to <code class="computeroutput">interpreter</code>
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">t</code></span></dt>
+<dd><p>
+ Data member internally generated by invoking <code class="computeroutput">interpreter<span class="special">(</span> <span class="identifier">args</span><span class="special">...</span> <span class="special">)</span></code>
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">cont</code></span></dt>
+<dd><p>
+ Container that <code class="computeroutput">interpreter</code> internally modifies
+ </p></dd>
+<dt><span class="term"><code class="computeroutput">C</code></span></dt>
+<dd><p>
+ Type of <code class="computeroutput">cont</code>
+ </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.option.data"></a><a class="link" href="option.html#boost_assign.reference.option.data" title="Data">Data</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.option.data.header"></a><h6>
+<a name="id36357872"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/data.hpp
+ </p>
+<a name="boost_assign.reference.option.data.description"></a><h6>
+<a name="id36357948"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.description">Description</a>
+ </h6>
+<p>
+ Options to alter the data-generator of an <a class="link" href="interpreter.html" title="Interpreter">interpreter</a>.
+ </p>
+<a name="boost_assign.reference.option.data.synopsis"></a><h6>
+<a name="id36357977"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Value- or pointer-container
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span> <span class="comment">// Functor or keyword
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Multi-array
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_element_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_key_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_map_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_use_default_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_value_</span><span class="special">&gt;;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span> <span class="special">=</span> <span class="identifier">kwd_use_default_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">option_data</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// F is either a functor or one of the keywords :
+</span> <span class="comment">// element_, key_, map_, use_default_, value_
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span> <span class="special">=</span> <span class="identifier">kwd_ignore_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">option_data</span><span class="special">;</span>
+
+
+ <span class="comment">// Overrides data generator
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span>
+ <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">option_data</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">%(</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">option_data</span><span class="special">&lt;</span><span class="identifier">F1</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span>
+ <span class="special">);</span>
+
+ <span class="keyword">struct</span> <span class="identifier">keyword_data</span>
+ <span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="identifier">option_data</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+<span class="keyword">namespace</span><span class="special">{</span>
+ <span class="keyword">const</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">keyword_data</span> <span class="identifier">_data</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">option_data</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.option.data.semantics"></a><h6>
+<a name="id36359031"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.semantics">Semantics</a>
+ </h6>
+<p>
+ Option <code class="computeroutput">_mapped</code> alters <a class="link" href="interpreter.html" title="Interpreter">interpreter</a>
+ such that its arguments are forwarded to the constructor of the internal
+ container's mapped-type, if it exists. Likewise for the other keywords.
+ </p>
+<a name="boost_assign.reference.option.data.example"></a><h6>
+<a name="id36359067"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">exponent</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">(</span><span class="keyword">double</span><span class="special">)&gt;</span> <span class="identifier">f_</span><span class="special">;</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_data</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_data</span> <span class="special">=</span> <span class="identifier">f_</span><span class="special">(</span> <span class="identifier">log10</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">exponent</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_data</span>
+ <span class="special">,</span> <span class="number">1.0</span><span class="special">,</span> <span class="number">10.0</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">1000.0</span><span class="special">,</span> <span class="number">10000.0</span>
+<span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">eps</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">numeric</span><span class="special">::</span><span class="identifier">bounds</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">smallest</span><span class="special">();</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">-</span> <span class="number">0.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">-</span> <span class="number">4.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_data</span><span class="special">,</span>
+ <span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_data</span> <span class="special">=</span> <span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">k</span> <span class="special">)</span> <span class="special">*=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span>
+ <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_data</span><span class="special">,</span>
+ <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span>
+ <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">24</span><span class="special">,</span> <span class="number">120</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">map_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">map_</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">pair_</span><span class="special">;</span>
+
+<span class="identifier">map_</span> <span class="identifier">map</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="identifier">as2</span><span class="special">::</span><span class="identifier">value_</span><span class="special">&gt;(</span>
+ <span class="identifier">map</span><span class="special">,</span>
+ <span class="identifier">pair_</span><span class="special">(</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span> <span class="special">),</span>
+ <span class="identifier">pair_</span><span class="special">(</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span> <span class="special">),</span>
+ <span class="identifier">pair_</span><span class="special">(</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.option.modifier"></a><a class="link" href="option.html#boost_assign.reference.option.modifier" title="Modifier">Modifier</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Framework</span></dt>
+<dt><span class="section">Iterate</span></dt>
+<dt><span class="section">Mapped</span></dt>
+<dt><span class="section">Repeat</span></dt>
+<dt><span class="section">Row_major</span></dt>
+<dt><span class="section">Std_modifier</span></dt>
+</dl></div>
+<a name="boost_assign.reference.option.modifier.header"></a><h6>
+<a name="id36360532"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.description"></a><h6>
+<a name="id36360563"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.description">Description</a>
+ </h6>
+<p>
+ Options to alter the modifier of an <a class="link" href="interpreter.html" title="Interpreter">interpreter</a>.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.framework"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.framework" title="Framework">Framework</a>
+</h5></div></div></div>
+<a name="option_modifier"></a><a name="boost_assign.reference.option.modifier.framework.header"></a><h6>
+<a name="id36360611"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.framework.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier/framework.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.framework.description"></a><h6>
+<a name="id36360638"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.framework.description">Description</a>
+ </h6>
+<p>
+ Option modifier framework
+ </p>
+<a name="boost_assign.reference.option.modifier.framework.synopsis"></a><h6>
+<a name="id36360660"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.framework.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Keyword</span> <span class="comment">// A class of modifiers
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="comment">// Specifies an aspect of the implementation
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">option_modifier</span>
+ <span class="special">{</span>
+
+ <span class="identifier">option_modifier</span><span class="special">(){}</span>
+ <span class="identifier">option_modifier</span><span class="special">(</span><span class="identifier">Arg</span> <span class="identifier">arg</span><span class="special">);</span>
+
+ <span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg1</span><span class="special">&gt;</span>
+ <span class="identifier">option_modifier</span><span class="special">&lt;</span><span class="identifier">Keyword</span><span class="special">,</span> <span class="identifier">Arg1</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">Arg1</span><span class="special">&amp;</span> <span class="identifier">arg1</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+ <span class="comment">// Specialize on Keyword
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Keyword</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">meta_modifier_tag</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">D</span> <span class="comment">// Inherits interpreter_crtp&lt;&gt;
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Keyword</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">option_modifier</span> <span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Keyword</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">option_modifier</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">Keyword</span><span class="special">,</span> <span class="identifier">Arg</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">%(</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">option_modifier</span><span class="special">&lt;</span><span class="identifier">Keyword</span><span class="special">,</span> <span class="identifier">Arg</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span>
+ <span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD</span><span class="special">(</span><span class="identifier">NAME</span><span class="special">)</span> <span class="identifier">unspecified</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG</span><span class="special">(</span><span class="identifier">NAME</span><span class="special">,</span> <span class="identifier">Result</span><span class="special">)</span> <span class="identifier">unspecified</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.option.modifier.framework.semantics"></a><h6>
+<a name="id36361512"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.framework.semantics">Semantics</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Requirement</strong></span>
+ </p>
+<p>
+ Specialize, such as to model <a class="link" href="interpreter.html#interpreter_modifier"><code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">ConceptModifier</span></code></a>,
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">interpreter_modifier</span><span class="special">&lt;</span> <span class="identifier">Result</span> <span class="special">&gt;;</span>
+
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<a name="modifier_macro"></a><p>
+ <span class="bold"><strong>Expression</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD</span><span class="special">(</span><span class="identifier">NAME</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Defines an empty class <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">keyword_NAME</span><span class="special">;</span></code> and an associated keyword
+ <code class="computeroutput"><span class="identifier">_keyword_NAME</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG</span><span class="special">(</span><span class="identifier">NAME</span><span class="special">,</span> <span class="identifier">Result</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Specializes metafunction class <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">meta_modifier_tag</span></code>
+ on <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">keyword_NAME</span></code>
+ to return <code class="computeroutput"><span class="identifier">Result</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign.reference.option.modifier.framework.example"></a><h6>
+<a name="id36361849"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.framework.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+ boost/assign/v2/option/modifier/iterate.hpp
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+ boost/assign/v2/option/modifier/mapped.hpp
+ </p>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+ boost/assign/v2/option/modifier/repeat.hpp
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.iterate"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.iterate" title="Iterate">Iterate</a>
+</h5></div></div></div>
+<a name="option_iterate"></a><a name="boost_assign.reference.option.modifier.iterate.header"></a><h6>
+<a name="id36361948"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.iterate.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier/iterate.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.iterate.description"></a><h6>
+<a name="id36362033"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.iterate.description">Description</a>
+ </h6>
+<p>
+ Modifier option.
+ </p>
+<a name="boost_assign.reference.option.modifier.iterate.semantics"></a><h6>
+<a name="id36362056"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.iterate.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">_iterate <span class="special">=</span> arg</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">arg<span class="special">()</span></code> increments
+ a counter initalized at zero
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">cont<span class="special">[</span> arg<span class="special">()</span>
+ <span class="special">]</span> <span class="special">=</span>
+ t</code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.option.modifier.iterate.example"></a><h6>
+<a name="id36362187"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.iterate.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">10</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+<span class="identifier">cont</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">cont</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">cont</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">index</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_iterate</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">index</span> <span class="special">)++</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">cont</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span>
+ <span class="special">).</span><span class="identifier">container</span><span class="special">(),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">interpreter_</span><span class="special">;</span>
+<span class="identifier">interpreter_</span> <span class="identifier">interpreter</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span>
+ <span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="number">7</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">index</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_iterate</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">index</span> <span class="special">)++</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">interpreter</span> <span class="special">%</span> <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span>
+ <span class="special">).</span><span class="identifier">container</span><span class="special">(),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.mapped"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.mapped" title="Mapped">Mapped</a>
+</h5></div></div></div>
+<a name="option_mapped"></a><a name="boost_assign.reference.option.modifier.mapped.header"></a><h6>
+<a name="id36363382"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.mapped.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier/mapped.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.mapped.description"></a><h6>
+<a name="id36363467"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.mapped.description">Description</a>
+ </h6>
+<p>
+ Modifier option.
+ </p>
+<a name="boost_assign.reference.option.modifier.mapped.semantics"></a><h6>
+<a name="id36363489"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.mapped.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">_mapped <span class="special">=</span> arg</code>
+ </p>
+ </td>
+<td>
+ <p>
+ None
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cont</span><span class="special">[</span>
+ t <span class="special">]</span> <span class="special">=</span>
+ arg<span class="special">(</span> <span class="identifier">cont</span><span class="special">[</span> t <span class="special">]</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.option.modifier.mapped.example"></a><h6>
+<a name="id36363633"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.mapped.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span> <span class="identifier">C</span> <span class="identifier">year</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">year</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">&lt;</span><span class="identifier">as2</span><span class="special">::</span><span class="identifier">key_</span><span class="special">,</span> <span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">year</span> <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">_put</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_mapped</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">constant</span><span class="special">(</span> <span class="number">30</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="string">"apr"</span><span class="special">,</span> <span class="string">"jun"</span><span class="special">,</span> <span class="string">"sep"</span><span class="special">,</span> <span class="string">"nov"</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"apr"</span><span class="special">]</span> <span class="special">==</span> <span class="number">30</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"nov"</span><span class="special">]</span> <span class="special">==</span> <span class="number">30</span> <span class="special">);</span>
+
+<span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">_put</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_mapped</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">constant</span><span class="special">(</span> <span class="number">31</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="string">"jan"</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="string">"may"</span><span class="special">,</span> <span class="string">"jul"</span><span class="special">,</span> <span class="string">"aug"</span><span class="special">,</span> <span class="string">"oct"</span><span class="special">,</span> <span class="string">"dec"</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"dec"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">source</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_mapped</span> <span class="special">=</span> <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">*=</span> <span class="special">-</span><span class="number">1</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">)</span>
+ <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">9</span>
+ <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">2</span><span class="special">,</span> <span class="special">+</span><span class="number">3</span><span class="special">,</span> <span class="special">-</span><span class="number">4</span><span class="special">,</span> <span class="special">+</span><span class="number">5</span><span class="special">,</span> <span class="special">-</span><span class="number">6</span><span class="special">,</span> <span class="special">+</span><span class="number">7</span><span class="special">,</span> <span class="special">-</span><span class="number">8</span><span class="special">,</span> <span class="special">+</span><span class="number">9</span><span class="special">,</span> <span class="special">-</span><span class="number">10</span> <span
 class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.repeat"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.repeat" title="Repeat">Repeat</a>
+</h5></div></div></div>
+<a name="boost_assign.reference.option.modifier.repeat.header"></a><h6>
+<a name="id36364946"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.repeat.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier/repeat.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.repeat.description"></a><h6>
+<a name="id36365031"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.repeat.description">Description</a>
+ </h6>
+<p>
+ Modifier option.
+ </p>
+<a name="boost_assign.reference.option.modifier.repeat.semantics"></a><h6>
+<a name="id36365053"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.repeat.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">_repeat <span class="special">=</span> <span class="identifier">n</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">n = 0</code>
+ </p>
+ </td>
+<td>
+ <p>
+ Invokes <code class="literal">n</code> times the modifier that prevailed
+ before passing this option
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.option.modifier.repeat.example"></a><h6>
+<a name="id36365162"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.repeat.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_modifier</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_repeat</span> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cont</span> <span class="special">|</span> <span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_do_put</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">100</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_modifier</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_repeat</span> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">1000</span>
+ <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1000</span><span class="special">,</span> <span class="number">1000</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.row_major"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.row_major" title="Row_major">Row_major</a>
+</h5></div></div></div>
+<a name="row_major"></a><a name="boost_assign.reference.option.modifier.row_major.header"></a><h6>
+<a name="id36365878"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.row_major.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier/row_major.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.row_major.description"></a><h6>
+<a name="id36365963"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.row_major.description">Description</a>
+ </h6>
+<p>
+ Modifier option.
+ </p>
+<a name="boost_assign.reference.option.modifier.row_major.semantics"></a><h6>
+<a name="id36365984"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.row_major.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">_row_major <span class="special">=</span> arg</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">arg<span class="special">()</span></code> increments
+ a counter initalized at zero
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="special">*(</span> arg<span class="special">()</span> <span class="special">+</span>
+ cont<span class="special">.</span><span class="identifier">data</span><span class="special">()</span> <span class="special">)</span>
+ <span class="special">=</span> t</code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.option.modifier.row_major.example"></a><h6>
+<a name="id36366134"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.row_major.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">array2_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">array2_</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">dim_</span><span class="special">;</span>
+<span class="identifier">dim_</span> <span class="identifier">dim1</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">dim2</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">array2_</span> <span class="identifier">array2</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">extents</span><span class="special">[</span><span class="identifier">dim1</span><span class="special">][</span><span class="identifier">dim2</span><span class="special">]</span> <span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">k</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_row_major</span> <span class="special">=</span> <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">k</span> <span class="special">)</span> <span class="special">+=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">array2</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span> <span class="special">);</span>
+<span class="identifier">k</span> <span class="special">=</span> <span class="special">-</span><span class="number">2</span><span class="special">;</span> <span class="identifier">csv</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+<span class="identifier">k</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="identifier">csv</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span> <span class="special">);</span>
+
+<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">benchmark</span> <span class="special">[]</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span>
+<span class="special">};</span>
+<span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">num_elements</span><span class="special">();</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">()</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">benchmark</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.std_modifier"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier" title="Std_modifier">Std_modifier</a>
+</h5></div></div></div>
+<a name="std_modifier"></a><a name="boost_assign.reference.option.modifier.std_modifier.header"></a><h6>
+<a name="id36367147"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/option/modifier/std.hpp
+ </p>
+<a name="boost_assign.reference.option.modifier.std_modifier.description"></a><h6>
+<a name="id36367232"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.description">Description</a>
+ </h6>
+<p>
+ Modifier option
+ </p>
+<a name="boost_assign.reference.option.modifier.std_modifier.syntax"></a><h6>
+<a name="id36367254"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.syntax">Syntax</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">struct</span> <span class="identifier">option_std_modifier</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">option_std_modifier</span> <span class="keyword">const</span> _std_modifier<span class="special">;</span>
+
+ <span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_OPTION_STD_MODIFIER</span><span class="special">(</span><span class="identifier">Name</span><span class="special">)</span> <em class="replaceable"><code>unspecified</code></em>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.option.modifier.std_modifier.option"></a><h6>
+<a name="id36367373"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.option">Option</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Semantics</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> arg</code>
+ </p>
+ </td>
+<td>
+ <p>
+ None
+ </p>
+ </td>
+<td>
+ <p>
+ Semantics of <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">modifier</span><span class="special">&lt;</span><span class="identifier">Arg</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Instances</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Keyword
+ </p>
+ </th>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_insert</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">insert</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_push</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_push_back</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push_back</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_push_front</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push_front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">circular_buffer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cb</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="identifier">as2</span><span class="special">::</span><span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="number">16</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">16</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.option.modifier.std_modifier.macro"></a><h6>
+<a name="id36368493"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.macro">Macro</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Semantics</strong></span>
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSIGN_V2_OPTION_STD_MODIFIER</span><span class="special">(</span><span class="identifier">Name</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Defines <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">modifier_tag</span><span class="special">{</span> <span class="keyword">struct</span>
+ <span class="identifier">Name</span><span class="special">{};</span>
+ <span class="special">}</span></code>
+ </li>
+<li class="listitem">
+ Creates a keyword <code class="computeroutput"><span class="identifier">_Name</span></code>,
+ shortcut for <code class="computeroutput">_std_modifier <span class="special">=</span>
+ <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">Name</span></code>
+ </li>
+<li class="listitem">
+ Specializes <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">modifier</span><span class="special">&lt;</span><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">Name</span><span class="special">&gt;</span></code> with the following semantics:
+ </li>
+</ul></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_Name</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">cont<span class="special">.</span><span class="identifier">Name</span><span class="special">(</span> t <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Example</strong></span>
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSIGN_V2_OPTION_STD_MODIFIER</span><span class="special">(</span><span class="identifier">push_back</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interpreter.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="put.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/put.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/put.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,999 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Put</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="option.html" title="Option">
+<link rel="next" href="ref.html" title="Ref">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ref.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.put"></a><a class="link" href="put.html" title="Put">Put</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Csv_put</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_put_basic</span></dt>
+<dt><span class="section">Csv_put_ext</span></dt>
+</dl></dd>
+<dt><span class="section">Do_csv_put</span></dt>
+<dt><span class="section">Do_put</span></dt>
+<dt><span class="section">Put</span></dt>
+</dl></div>
+<a name="boost_assign.reference.put.header"></a><h5>
+<a name="id36368809"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/put.hpp
+ </p>
+<a name="boost_assign.reference.put.description"></a><h5>
+<a name="id36368838"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.description">Description</a>
+ </h5>
+<p>
+ Assigning or inserting elments of a container
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.csv_put"></a><a class="link" href="put.html#boost_assign.reference.put.csv_put" title="Csv_put">Csv_put</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Csv_put_basic</span></dt>
+<dt><span class="section">Csv_put_ext</span></dt>
+</dl></div>
+<a name="csv_put"></a><a name="boost_assign.reference.put.csv_put.header"></a><h6>
+<a name="id36368879"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/csv_put.hpp
+ </p>
+<a name="boost_assign.reference.put.csv_put.description"></a><h6>
+<a name="id36368910"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.description">Description</a>
+ </h6>
+<p>
+ The csv-form designates a syntax that is dual to a functor, that is charaterized
+ by an arity parameter, <code class="literal">I</code>. One invocation of the csv-form
+ with an argument list of size <code class="literal">Ixn</code> is equivalent to
+ <code class="literal">n</code> invocations of the functor, each with I arguments.
+ This form has two variants : basic (size equals one) and extended (size
+ is specified by an integer template parameter).
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.put.csv_put.csv_put_basic"></a><a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_basic" title="Csv_put_basic">Csv_put_basic</a>
+</h5></div></div></div>
+<a name="csv_put_basic"></a><a name="boost_assign.reference.put.csv_put.csv_put_basic.header"></a><h6>
+<a name="id36368971"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_basic.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/csv_put/csv_put_basic.hpp
+ </p>
+<a name="boost_assign.reference.put.csv_put.csv_put_basic.description"></a><h6>
+<a name="id36369002"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_basic.description">Description</a>
+ </h6>
+<p>
+ The basic version of the csv-form assumes an arity of one, I = 1
+ </p>
+<a name="boost_assign.reference.put.csv_put.csv_put_basic.synopsis"></a><h6>
+<a name="id36369024"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_basic.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.csv_put.csv_put_basic.semantics"></a><h6>
+<a name="id36369302"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_basic.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">(</span> cont<span class="special">,</span> args...<span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">put<span class="special">(</span> cont <span class="special">)(</span>
+ arg<span class="number">1</span> <span class="special">)</span>
+ <span class="special">...(</span> argn <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.put.csv_put.csv_put_basic.example"></a><h6>
+<a name="id36369429"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_basic.example">Example</a>
+ </h6>
+<a name="ex_csv_put_basic"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">seq</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">seq</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">adapter</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">adapter</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">5</span><span class="special">&gt;</span> <span class="identifier">array</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">array</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">assoc</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+<span class="identifier">C</span> <span class="identifier">set</span><span class="special">,</span> <span class="identifier">benchmark</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="string">"foo"</span><span class="special">,</span> <span class="string">"bar"</span><span class="special">,</span> <span class="string">"baz"</span> <span class="special">);</span>
+
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="string">"foo"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="string">"baz"</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">array3_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">array3_</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">size_</span> <span class="identifier">dim_</span><span class="special">;</span>
+<span class="identifier">dim_</span> <span class="identifier">dim1</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">dim2</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">dim3</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span>
+
+<span class="identifier">array3_</span> <span class="identifier">array3</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">extents</span><span class="special">[</span><span class="identifier">dim1</span><span class="special">][</span><span class="identifier">dim2</span><span class="special">][</span><span class="identifier">dim3</span><span class="special">]</span> <span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span>
+ <span class="identifier">array3</span><span class="special">,</span>
+ <span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span>
+ <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span>
+ <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">11</span><span class="special">,</span>
+
+ <span class="number">12</span><span class="special">,</span> <span class="number">13</span><span class="special">,</span> <span class="number">14</span><span class="special">,</span> <span class="number">15</span><span class="special">,</span>
+ <span class="number">16</span><span class="special">,</span> <span class="number">17</span><span class="special">,</span> <span class="number">18</span><span class="special">,</span> <span class="number">19</span><span class="special">,</span>
+ <span class="number">20</span><span class="special">,</span> <span class="number">21</span><span class="special">,</span> <span class="number">22</span><span class="special">,</span> <span class="number">23</span>
+<span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span> <span class="identifier">size_</span> <span class="identifier">i1</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i1</span> <span class="special">&lt;</span> <span class="identifier">dim1</span><span class="special">;</span> <span class="identifier">i1</span><span class="special">++</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">for</span><span class="special">(</span> <span class="identifier">size_</span> <span class="identifier">i2</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i2</span> <span class="special">&lt;</span> <span class="identifier">dim2</span><span class="special">;</span> <span class="identifier">i2</span><span class="special">++</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span><span class="special">(</span> <span class="identifier">size_</span> <span class="identifier">i3</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i3</span> <span class="special">&lt;</span> <span class="identifier">dim3</span><span class="special">;</span> <span class="identifier">i3</span><span class="special">++</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">array3</span><span class="special">[</span> <span class="identifier">i1</span> <span class="special">][</span> <span class="identifier">i2</span> <span class="special">][</span> <span class="identifier">i3</span> <span class="special">]</span> <span class="special">==</span> <span class="identifier">i</span><span class="special">++</span> <span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example4</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+<a class="co" name="boost_assign10co" href="put.html#boost_assign10"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">x</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign10"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">assoc</span><span class="special">[</span><span class="identifier">i</span><span class="special">++]</span>
+ <span class="special">=</span> <span class="keyword">new</span>
+ <span class="identifier">T</span><span class="special">(</span>
+ <span class="identifier">t</span> <span class="special">)</span></code>
+ for <code class="computeroutput"><span class="identifier">i</span> <span class="special">=</span>
+ <span class="number">0</span></code> and <code class="computeroutput"><span class="identifier">t</span></code><code class="literal">=
+ </code> <code class="computeroutput"><span class="identifier">x</span></code>, <code class="computeroutput"><span class="identifier">y</span></code>, and <code class="computeroutput"><span class="identifier">z</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example5</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+<a class="co" name="boost_assign11co" href="put.html#boost_assign11"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">x</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign11"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">assoc</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">T</span><span class="special">(</span> <span class="identifier">t</span> <span class="special">)</span> <span class="special">)</span></code>
+ for <code class="computeroutput"><span class="identifier">t</span></code> <code class="literal">=</code>
+ <code class="computeroutput"><span class="identifier">x</span></code>, <code class="computeroutput"><span class="identifier">y</span></code>, and <code class="computeroutput"><span class="identifier">z</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example6</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_set</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">assoc</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="string">"isomer"</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="string">"ephemeral"</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"prosaic"</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example7</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_unordered_set</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">set</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="string">"foo"</span><span class="special">,</span> <span class="string">"bar"</span><span class="special">,</span> <span class="string">"baz"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">set</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"foo"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">set</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"baz"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.put.csv_put.csv_put_ext"></a><a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_ext" title="Csv_put_ext">Csv_put_ext</a>
+</h5></div></div></div>
+<a name="csv_put_ext"></a><a name="boost_assign.reference.put.csv_put.csv_put_ext.header"></a><h6>
+<a name="id36372448"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_ext.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/csv_put/csv_put_ext.hpp
+ </p>
+<a name="boost_assign.reference.put.csv_put.csv_put_ext.description"></a><h6>
+<a name="id36372479"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_ext.description">Description</a>
+ </h6>
+<p>
+ In the extended version of the csv-form, arity I is specified by an integer
+ template parameter
+ </p>
+<a name="boost_assign.reference.put.csv_put.csv_put_ext.synopsis"></a><h6>
+<a name="id36372502"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_ext.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="comment">// Default constructible options
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.csv_put.csv_put_ext.semantics"></a><h6>
+<a name="id36372853"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_ext.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> cont<span class="special">,</span>
+ <span class="identifier">args0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">I</span><span class="special">-</span><span class="number">1</span>
+ <span class="special">),</span> <span class="special">...,</span>
+ <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">nI</span>
+ <span class="special">-</span> <span class="number">1</span>
+ <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">put<span class="special">(</span> cont <span class="special">)(</span>
+ <span class="identifier">args0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">I</span><span class="special">-</span><span class="number">1</span>
+ <span class="special">)</span> <span class="special">)</span>
+ <span class="special">...</span> <span class="special">(</span>
+ <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">nI</span>
+ <span class="special">-</span> <span class="number">1</span>
+ <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.put.csv_put.csv_put_ext.example"></a><h6>
+<a name="id36373218"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.csv_put_ext.example">Example</a>
+ </h6>
+<a name="ex_csv_put_ext"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">bitset</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">number</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">number</span><span class="special">&gt;</span> <span class="identifier">range_3bit</span><span class="special">;</span>
+
+<span class="comment">// The significance of this example comes from:
+</span><span class="comment">// Expression Valid
+</span><span class="comment">// number( "011" ) No
+</span><span class="comment">// number( str_( "011" ) ) Yes
+</span><span class="comment">// range_3bit.push_back( str_( "011" ) ) No
+</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span> <a class="co" name="boost_assign12co" href="put.html#boost_assign12"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">str_</span><span class="special">&gt;(</span>
+ <span class="identifier">range_3bit</span>
+ <span class="special">,</span> <span class="string">"000"</span><span class="special">,</span> <span class="string">"001"</span><span class="special">,</span> <span class="string">"010"</span><span class="special">,</span> <span class="string">"011"</span><span class="special">,</span> <span class="string">"100"</span><span class="special">,</span> <span class="string">"101"</span><span class="special">,</span> <span class="string">"110"</span><span class="special">,</span> <span class="string">"111"</span>
+<span class="special">);</span>
+
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">range_3bit</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">range_3bit</span><span class="special">[</span><span class="identifier">i</span><span class="special">].</span><span class="identifier">to_ulong</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">i</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign12"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Required
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">state_</span> <span class="special">[</span><span class="number">3</span><span class="special">];</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">code_</span><span class="special">;</span>
+<span class="identifier">state_</span> <span class="identifier">ct</span> <span class="special">=</span> <span class="string">"CT"</span><span class="special">,</span> <span class="identifier">nj</span> <span class="special">=</span> <span class="string">"NJ"</span><span class="special">,</span> <span class="identifier">ny</span> <span class="special">=</span> <span class="string">"NY"</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">state_</span><a class="co" name="boost_assign13co" href="put.html#boost_assign13"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="special">&amp;,</span> <span class="identifier">code_</span><span class="special">&gt;</span> <span class="identifier">data_</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span> <span class="identifier">data_</span> <span class="special">&gt;</span> <span class="identifier">region</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span>
+ <span class="identifier">region</span><span class="special">,</span>
+ <span class="identifier">ny</span><span class="special">,</span> <span class="number">212</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">718</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">516</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">914</span><span class="special">,</span>
+ <span class="identifier">nj</span><span class="special">,</span> <span class="number">210</span><span class="special">,</span> <span class="identifier">nj</span><span class="special">,</span> <span class="number">908</span><span class="special">,</span> <span class="identifier">nj</span><span class="special">,</span> <span class="number">609</span><span class="special">,</span>
+ <span class="identifier">ct</span><span class="special">,</span> <span class="number">203</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="identifier">ny</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">203</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">212</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="identifier">ct</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign13"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Notice the reference
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">q1</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">q1</span><span class="special">,</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example4</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">q1</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">q1</span><span class="special">,</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.do_csv_put"></a><a class="link" href="put.html#boost_assign.reference.put.do_csv_put" title="Do_csv_put">Do_csv_put</a>
+</h4></div></div></div>
+<a name="do_csv_put"></a><a name="boost_assign.reference.put.do_csv_put.header"></a><h6>
+<a name="id36375046"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_csv_put.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/do_csv_put.hpp
+ </p>
+<a name="boost_assign.reference.put.do_csv_put.description"></a><h6>
+<a name="id36375078"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_csv_put.description">Description</a>
+ </h6>
+<p>
+ Piping version of <a class="link" href="put.html#csv_put"><code class="computeroutput">csv_put</code></a>
+ </p>
+<a name="boost_assign.reference.put.do_csv_put.synopsis"></a><h6>
+<a name="id36375110"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_csv_put.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CastHolder</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ArgsHolder</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">I</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">do_csv_put</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+
+ <span class="identifier">unspecified</span>
+ <span class="identifier">do_csv_put</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+
+ <span class="identifier">unspecified</span>
+ <span class="identifier">do_csv_put</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">do_csv_put</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.do_csv_put.semantics"></a><h6>
+<a name="id36375495"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_csv_put.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">cont <span class="special">|</span> <span class="identifier">do_csv_put</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> <span class="identifier">args0</span><span class="special">,</span> <span class="special">...,</span>
+ <span class="identifier">arg</span><span class="special">(</span>
+ <span class="identifier">I</span><span class="special">-</span><span class="number">1</span> <span class="special">),</span>
+ <span class="special">...,</span> <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span> <span class="special">...,</span>
+ <span class="identifier">arg</span><span class="special">(</span>
+ <span class="identifier">nI</span> <span class="special">-</span>
+ <span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> cont<span class="special">,</span>
+ <span class="identifier">args0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">I</span><span class="special">-</span><span class="number">1</span> <span class="special">),</span> <span class="special">...,</span>
+ <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">nI</span>
+ <span class="special">-</span> <span class="number">1</span>
+ <span class="special">)</span> <span class="special">);</span>
+ <span class="keyword">return</span> cont<span class="special">;</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.put.do_csv_put.example"></a><h6>
+<a name="id36375872"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_csv_put.example">Example</a>
+ </h6>
+<a name="ex_do_csv_put"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">q1</span><span class="special">,</span> <span class="identifier">benchmark</span><span class="special">;</span>
+
+<span class="identifier">benchmark</span><span class="special">[</span> <span class="string">"jan"</span> <span class="special">]</span> <span class="special">=</span> <span class="number">31</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">[</span> <span class="string">"feb"</span> <span class="special">]</span> <span class="special">=</span> <span class="number">28</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">[</span> <span class="string">"mar"</span> <span class="special">]</span> <span class="special">=</span> <span class="number">31</span><span class="special">;</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">benchmark</span><span class="special">,</span>
+ <span class="identifier">q1</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">do_csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.do_put"></a><a class="link" href="put.html#boost_assign.reference.put.do_put" title="Do_put">Do_put</a>
+</h4></div></div></div>
+<a name="do_put"></a><a name="boost_assign.reference.put.do_put.header"></a><h6>
+<a name="id36376289"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_put.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/do_put.hpp
+ </p>
+<a name="boost_assign.reference.put.do_put.description"></a><h6>
+<a name="id36376319"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_put.description">Description</a>
+ </h6>
+<p>
+ Piping version of <a class="link" href="put.html#csv_put"><code class="computeroutput">put</code></a>. Only
+ overloads of <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ for now, are implemented.
+ </p>
+<a name="boost_assign.reference.put.do_put.synopsis"></a><h6>
+<a name="id36376360"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_put.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span> <span class="special">=</span> <span class="identifier">empty_list_option_</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put_for_each_adapter</span>
+ <span class="special">{</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">O</span> <span class="special">=</span> <span class="identifier">empty_list_option_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put_adapter</span>
+ <span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">,</span> <span class="identifier">I</span><span class="special">&gt;</span>
+ <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="identifier">put_adapter</span><span class="special">&lt;</span><span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span><span class="special">%(</span><span class="identifier">Options</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">options</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="identifier">C</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">&gt;</span>
+ <span class="identifier">C</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">,</span> <span class="identifier">I</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+ <span class="keyword">const</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_adapter</span><span class="special">&lt;&gt;</span> <span class="identifier">_do_put</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.do_put.semantics"></a><h6>
+<a name="id36377289"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_put.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">cont <span class="special">|</span> <span class="identifier">_do_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> r <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">put<span class="special">.</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> cont<span class="special">,</span>
+ r <span class="special">);</span> <span class="keyword">return</span>
+ cont</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">cont <span class="special">|</span> <span class="identifier">_do_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> r <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">put<span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> cont<span class="special">,</span>
+ r <span class="special">);</span> <span class="keyword">return</span>
+ cont</code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign.reference.put.do_put.example"></a><h6>
+<a name="id36377529"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.do_put.example">Example</a>
+ </h6>
+<a name="ex_do_put"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">circular_buffer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cb</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cb</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_do_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span> <span class="special">,</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cb</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_do_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.put"></a><a class="link" href="put.html#boost_assign.reference.put.put" title="Put">Put</a>
+</h4></div></div></div>
+<a name="put"></a><a name="boost_assign.reference.put.put.header"></a><h6>
+<a name="id36377988"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/put.hpp
+ </p>
+<a name="boost_assign.reference.put.put.description"></a><h6>
+<a name="id36378018"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.description">Description</a>
+ </h6>
+<p>
+ Functor form
+ </p>
+<a name="boost_assign.reference.put.put.synopsis"></a><h6>
+<a name="id36378040"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">put_interpreter</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">interpreter_crtp</span><span class="special">&lt;</span>
+ <span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span>
+ <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">put_interpreter</span><span class="special">();</span>
+ <span class="keyword">explicit</span> <span class="identifier">put_interpreter</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span> <span class="special">);</span>
+ <span class="identifier">put_interpreter</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">modifier_</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">m</span> <span class="special">);</span>
+
+ <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">container</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_data_generator</span><span class="special">&lt;</span>
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">&gt;{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_modifier_tag</span><span class="special">&lt;</span>
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">&gt;{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">MTag1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_data_tag</span><span class="special">&lt;</span>
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">&gt;{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">DTag1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">O</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put_option</span>
+ <span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span> <span class="special">);</span>
+
+ <span class="comment">// Default constructible options
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put_option</span><span class="special">&lt;</span><span class="identifier">Options</span><span class="special">,</span> <span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span> <span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put_option</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.put.semantics"></a><h6>
+<a name="id36379473"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.semantics">Semantics</a>
+ </h6>
+<p>
+ See <a class="link" href="interpreter.html#interpreter_crtp"><code class="computeroutput"><span class="identifier">interpreter_crtp</span><span class="special">&lt;&gt;</span></code></a> from which it inherits.
+ </p>
+<a name="boost_assign.reference.put.put.example"></a><h6>
+<a name="id36379513"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.example">Example</a>
+ </h6>
+<a name="ex_put"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">map</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">4</span><span class="special">,</span> <span class="string">"qux"</span><span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">==</span> <span class="string">"foo"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">==</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">==</span> <span class="string">"baz"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">==</span> <span class="string">"qux"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">map_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">month_</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">pair_</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">pair_</span><span class="special">&gt;</span> <span class="identifier">input</span><span class="special">;</span>
+
+<span class="identifier">input</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">pair_</span><span class="special">(</span><span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">)</span> <span class="special">);</span>
+<span class="identifier">input</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">pair_</span><span class="special">(</span><span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">)</span> <span class="special">);</span>
+<span class="identifier">input</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">pair_</span><span class="special">(</span><span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span><span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">map_</span> <span class="identifier">map</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">input</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">fp_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">fp_</span><span class="special">&gt;</span> <span class="identifier">data_</span><span class="special">;</span>
+<span class="identifier">data_</span> <span class="identifier">a</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">a</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.71</span><span class="special">;</span> <span class="identifier">a</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.63</span><span class="special">;</span> <span class="identifier">a</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.85</span><span class="special">;</span>
+<span class="identifier">data_</span> <span class="identifier">b</span><span class="special">(</span> <span class="number">4</span> <span class="special">);</span> <span class="identifier">b</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.61</span><span class="special">;</span> <span class="identifier">b</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.69</span><span class="special">;</span> <span class="identifier">b</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.92</span><span class="special">;</span> <span class="identifier">b</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.55</span><span class="special"
>;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">data_</span><span class="special">,</span> <span class="number">4</span><span class="special">&gt;</span> <span class="identifier">ragged</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">ragged</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">),</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="identifier">b</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">99.99</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">ragged</span><span class="special">[</span><span class="number">0</span><span class="special">].</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">ragged</span><span class="special">[</span><span class="number">3</span><span class="special">].</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example4</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_unordered_map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">map</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">4</span><span class="special">,</span> <span class="string">"qux"</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">==</span> <span class="string">"foo"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">==</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">==</span> <span class="string">"baz"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">==</span> <span class="string">"qux"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ref.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/ref.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/ref.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,801 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Ref</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="put.html" title="Put">
+<link rel="next" href="support.html" title="Support">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="put.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.ref"></a><a class="link" href="ref.html" title="Ref">Ref</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Array</span></dt>
+<dd><dl>
+<dt><span class="section">Array</span></dt>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_array</span></dt>
+<dt><span class="section">Get</span></dt>
+<dt><span class="section">Interface</span></dt>
+</dl></dd>
+<dt><span class="section">Wrapper</span></dt>
+<dd><dl>
+<dt><span class="section">Copy</span></dt>
+<dt><span class="section">Crtp</span></dt>
+</dl></dd>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.ref.array"></a><a class="link" href="ref.html#boost_assign.reference.ref.array" title="Array">Array</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Array</span></dt>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_array</span></dt>
+<dt><span class="section">Get</span></dt>
+<dt><span class="section">Interface</span></dt>
+</dl></div>
+<a name="boost_assign.reference.ref.array.header"></a><h6>
+<a name="id36381854"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/array.hpp
+ </p>
+<a name="boost_assign.reference.ref.array.description"></a><h6>
+<a name="id36381929"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.description">Description</a>
+ </h6>
+<p>
+ Reference array generation
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.array"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.array" title="Array">Array</a>
+</h5></div></div></div>
+<a name="ref_array"></a><a name="boost_assign.reference.ref.array.array.header"></a><h6>
+<a name="id36381970"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.array.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/array/array.hpp
+ </p>
+<a name="boost_assign.reference.ref.array.array.description"></a><h6>
+<a name="id36382000"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.array.description">Description</a>
+ </h6>
+<p>
+ Functor form
+ </p>
+<a name="boost_assign.reference.ref.array.array.synopsis"></a><h6>
+<a name="id36382023"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.array.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">nth_result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">array_size_type</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">nth_result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Generates an empty array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Temporaries
+ destroyed past semicolon.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The <a class="link" href="ref.html#ref_csv_array">csv-form</a> is faster. See the
+ <a class="link" href="../apx/perf.html#perf">performance</a> table.
+ </p></td></tr>
+</table></div>
+<a name="boost_assign.reference.ref.array.array.example"></a><h6>
+<a name="id36382620"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.array.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">ar</span><span class="special">;</span>
+<span class="identifier">ar</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="number">1</span> <span class="special">)(</span> <span class="number">10</span> <span class="special">)(</span> <span class="number">100</span> <span class="special">),</span>
+ <span class="identifier">ar</span>
+ <span class="special">)</span>
+<span class="special">)</span><a class="co" name="boost_assign14co" href="ref.html#boost_assign14"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign14"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Temporaries destroyed past semicolon
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">w</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">100</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">1000</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">nth_result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ar3</span>
+ <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="identifier">w</span> <span class="special">)(</span> <span class="identifier">x</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">);</span>
+<span class="special">{</span>
+ <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="identifier">ar3</span><span class="special">.</span><span class="identifier">front</span><span class="special">();</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">ar3</span><span class="special">.</span><span class="identifier">back</span><span class="special">();</span>
+
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">a</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">w</span> <span class="special">);</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">y</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">nth_result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="number">4</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ar4</span> <span class="special">=</span> <span class="identifier">ar3</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">);</span>
+<span class="special">{</span>
+ <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="identifier">ar4</span><span class="special">.</span><span class="identifier">front</span><span class="special">();</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">ar4</span><span class="special">.</span><span class="identifier">back</span><span class="special">();</span>
+
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">a</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">w</span> <span class="special">);</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">z</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span>
+<span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 4</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="identifier">z</span> <span class="special">).</span><span class="identifier">assign</span><span class="special">(</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.conversion"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.conversion" title="Conversion">Conversion</a>
+</h5></div></div></div>
+<a name="boost_assign.reference.ref.array.conversion.header"></a><h6>
+<a name="id36384270"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.conversion.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/array/conversion.hpp
+ </p>
+<a name="boost_assign.reference.ref.array.conversion.description"></a><h6>
+<a name="id36384355"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.conversion.description">Description</a>
+ </h6>
+<p>
+ ADL version of <a class="link" href="conversion.html#converter">converter</a>
+ </p>
+<a name="boost_assign.reference.ref.array.conversion.example"></a><h6>
+<a name="id36384383"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.conversion.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">fifo</span> <span class="special">=</span> <a class="co" name="boost_assign15co" href="ref.html#boost_assign15"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">converter</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <s
pan class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign15"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Notice unqualified
+ </p></td>
+</tr></table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.csv_array"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array" title="Csv_array">Csv_array</a>
+</h5></div></div></div>
+<a name="ref_csv_array"></a><a name="boost_assign.reference.ref.array.csv_array.header"></a><h6>
+<a name="id36384632"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/array/csv_array.hpp
+ </p>
+<a name="boost_assign.reference.ref.array.csv_array.description"></a><h6>
+<a name="id36384717"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.description">Description</a>
+ </h6>
+<p>
+ The csv-form designates a syntax that is dual to a functor, that is charaterized
+ by an arity parameter, <code class="literal">I</code>. One invocation of the csv-form
+ with an argument list of size <code class="literal">Ixn</code> is equivalent to
+ <code class="literal">n</code> invocations of the functor, each with I arguments.
+ This form has two variants : basic (size equals one) and extended (size
+ is specified by an integer template parameter).
+ </p>
+<a name="boost_assign.reference.ref.array.csv_array.synopsis"></a><h6>
+<a name="id36384758"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">nth_result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">array_size_type</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">nth_result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Generates an empty array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Temporaries
+ destroyed past semicolon.
+ </p></td></tr>
+</table></div>
+<a name="boost_assign.reference.ref.array.csv_array.example"></a><h6>
+<a name="id36385335"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">ar</span><span class="special">;</span>
+<span class="identifier">ar</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span> <span class="special">),</span>
+ <span class="identifier">ar</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">nth_result_of</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ar</span>
+ <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">);</span>
+
+<span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">front</span> <span class="special">=</span> <span class="identifier">ar</span><span class="special">.</span><span class="identifier">front</span><span class="special">();</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">back</span> <span class="special">=</span> <span class="identifier">ar</span><span class="special">.</span><span class="identifier">back</span><span class="special">();</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">front</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">x</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">back</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">z</span> <span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.get"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.get" title="Get">Get</a>
+</h5></div></div></div>
+<a name="ref_get"></a><a name="boost_assign.reference.ref.array.get.header"></a><h6>
+<a name="id36386591"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.get.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/array/get.hpp
+ </p>
+<a name="boost_assign.reference.ref.array.get.description"></a><h6>
+<a name="id36386676"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.get.description">Description</a>
+ </h6>
+<p>
+ A <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptor</a> that converts each element of a reference-array (a <a class="link" href="ref.html#ref_wrapper">reference wrapper</a>) to the reference it holds
+ (by invoking member function <code class="computeroutput"><span class="identifier">get</span><span class="special">()</span></code>).
+ </p>
+<a name="boost_assign.reference.ref.array.get.synopsis"></a><h6>
+<a name="id36386725"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.get.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">R</span> <span class="comment">// Range of reference-wrappers
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">transform_get</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Transforms rw by member function get()
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform_get</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">transform_get</span><span class="special">(</span><span class="identifier">R</span><span class="special">&amp;</span> <span class="identifier">rw</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform_get</span><span class="special">&lt;</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">transform_get</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rw</span> <span class="special">);</span>
+
+ <span class="keyword">struct</span> <span class="identifier">get_adaptor</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform_get</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">R</span><span class="special">&amp;</span> <span class="identifier">rw</span><span class="special">,</span> <span class="identifier">get_adaptor</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform_get</span><span class="special">&lt;</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rw</span><span class="special">,</span> <span class="identifier">get_adaptor</span><span class="special">);</span>
+
+
+ <span class="identifier">get_adaptor</span> <span class="keyword">const</span> <span class="identifier">_get</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.ref.array.get.example"></a><h6>
+<a name="id36387275"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.get.example">Example</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">as2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">copy_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">w_</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">w_</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">ref_array</span><span class="special">;</span> <span class="keyword">int</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="identifier">w_</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">),</span> <span class="identifier">w_</span><span class="special">(</span> <span class="identifier">y</span> <span class="special">),</span> <span class="identifier">w_</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <span class="identifier">ref_array</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">314</span><span class="special">,</span> <span class="number">3141</span><span class="special">,</span> <span class="number">31415</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">ref_array</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="number">314</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">y</span> <span class="special">==</span> <span class="number">3141</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="number">31415</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.interface"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.interface" title="Interface">Interface</a>
+</h5></div></div></div>
+<a name="array_interface"></a><a name="boost_assign.reference.ref.array.interface.header"></a><h6>
+<a name="id36387866"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.interface.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/array/interface.hpp
+ </p>
+<a name="boost_assign.reference.ref.array.interface.description"></a><h6>
+<a name="id36387950"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.interface.description">Description</a>
+ </h6>
+<p>
+ Interface for a reference array
+ </p>
+<a name="boost_assign.reference.ref.array.interface.synopsis"></a><h6>
+<a name="id36387973"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.interface.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Impl</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">interface</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">param_type</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">wrapper_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">inner_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">size_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">difference_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">const_reference</span><span class="special">;</span>
+
+ <span class="identifier">size_type</span> <span class="identifier">static_size</span><span class="special">;</span>
+
+ <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">rebind</span><span class="special">(</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">result_of_get_</span> <span class="identifier">t</span><span class="special">);</span>
+ <span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">);</span>
+ <span class="identifier">const_reference</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <span class="identifier">front</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">front</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <span class="identifier">back</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">back</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span><span class="identifier">param_type</span> <span class="identifier">val</span><span class="special">);</span>
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.ref.array.interface.example"></a><h6>
+<a name="id36388649"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.interface.example">Example</a>
+ </h6>
+<p>
+ None
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.ref.wrapper"></a><a class="link" href="ref.html#boost_assign.reference.ref.wrapper" title="Wrapper">Wrapper</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Copy</span></dt>
+<dt><span class="section">Crtp</span></dt>
+</dl></div>
+<a name="ref_wrapper"></a><a name="boost_assign.reference.ref.wrapper.header"></a><h6>
+<a name="id36388692"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/wrapper.hpp
+ </p>
+<a name="boost_assign.reference.ref.wrapper.description"></a><h6>
+<a name="id36388767"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.description">Description</a>
+ </h6>
+<p>
+ Default constructible reference wrapper module
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.wrapper.copy"></a><a class="link" href="ref.html#boost_assign.reference.ref.wrapper.copy" title="Copy">Copy</a>
+</h5></div></div></div>
+<a name="boost_assign.reference.ref.wrapper.copy.header"></a><h6>
+<a name="id36388804"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.copy.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/wrapper/copy.hpp
+ </p>
+<a name="boost_assign.reference.ref.wrapper.copy.description"></a><h6>
+<a name="id36388889"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.copy.description">Description</a>
+ </h6>
+<p>
+ Reference wrapper with copy semantics
+ </p>
+<a name="boost_assign.reference.ref.wrapper.copy.synopsis"></a><h6>
+<a name="id36388911"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.copy.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">assign_tag</span><span class="special">{</span> <span class="keyword">struct</span> <span class="identifier">copy</span><span class="special">{};</span> <span class="special">}</span>
+<span class="keyword">namespace</span> <span class="identifier">assign_copy</span><span class="special">{</span> <span class="keyword">typedef</span> <span class="identifier">assign_tag</span><span class="special">::</span><span class="identifier">copy</span> <span class="identifier">assign_tag_</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">T</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">wrapper</span><span class="special">&lt;</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">assign_tag</span><span class="special">::</span><span class="identifier">copy</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">wrapper_crtp</span><span class="special">&lt;</span> <span class="identifier">wrapper</span><span class="special">&lt;</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">assign_tag</span><span class="special">::</span><span class="identifier">copy</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
+
+ <span class="identifier">wrapper</span><span class="special">();</span>
+
+ <span class="comment">// Initialization equivalent to rebind( r )
+</span> <span class="keyword">explicit</span> <span class="identifier">wrapper</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">void</span> <span class="identifier">rebind</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">result_of_get_type</span><span class="special">;</span>
+ <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get_pointer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">using</span> <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">wrapper</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="keyword">operator</span><span class="special">=;</span>
+
+ <span class="comment">// Copy semantics i.e. *ptr = r
+</span> <span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">protected</span><span class="special">:</span>
+ <span class="special">;</span>
+ <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span> <span class="identifier">wrapper</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">copy_wrapper</span><span class="special">{</span> <span class="keyword">typedef</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">wrapper</span><span class="special">&lt;</span><span class="identifier">assign_tag</span><span class="special">::</span><span class="identifier">copy</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.ref.wrapper.copy.example"></a><h6>
+<a name="id36389661"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.copy.example">Example</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">val_</span> <span class="keyword">const</span> <span class="identifier">cval_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">wrapper_param</span><span class="special">&lt;</span><span class="identifier">val_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">param_</span><span class="special">;</span>
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">param_</span><span class="special">,</span> <span class="identifier">cval_</span><span class="special">&gt;</span> <span class="special">));</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">copy_wrapper</span><span class="special">&lt;</span><span class="identifier">param_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">w_</span><span class="special">;</span>
+<span class="special">{</span>
+ <span class="identifier">val_</span><span class="special">&amp;&amp;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+ <span class="identifier">w_</span> <span class="identifier">w</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">);</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">w</span><span class="special">.</span><span class="identifier">get</span><span class="special">()</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">a</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="identifier">cval_</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+ <span class="identifier">w_</span> <span class="identifier">w</span> <span class="special">=</span> <span class="identifier">w_</span><span class="special">(</span> <span class="number">1</span> <span class="special">);</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">w</span><span class="special">.</span><span class="identifier">get</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">a</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.wrapper.crtp"></a><a class="link" href="ref.html#boost_assign.reference.ref.wrapper.crtp" title="Crtp">Crtp</a>
+</h5></div></div></div>
+<a name="boost_assign.reference.ref.wrapper.crtp.header"></a><h6>
+<a name="id36390115"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.crtp.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/ref/wrapper/crtp.hpp
+ </p>
+<a name="boost_assign.reference.ref.wrapper.crtp.description"></a><h6>
+<a name="id36390200"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.crtp.description">Description</a>
+ </h6>
+<p>
+ CRTP reference wrapper.
+ </p>
+<a name="boost_assign.reference.ref.wrapper.crtp.synopsis"></a><h6>
+<a name="id36390222"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.crtp.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">wrapper_crtp</span> <span class="special">:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">less_than_comparable1</span><span class="special">&lt;</span>
+ <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">less_than_comparable2</span><span class="special">&lt;</span>
+ <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">T</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">equality_comparable1</span><span class="special">&lt;</span>
+ <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">equality_comparable2</span><span class="special">&lt;</span>
+ <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">T</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">{</span>
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_const</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">non_const</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_const</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">const_</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="identifier">D</span><span class="special">&amp;</span> <span class="identifier">derived</span><span class="special">();</span>
+ <span class="identifier">D</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">derived</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">non_const</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">const_</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span> <span class="identifier">wrapper_crtp</span><span class="special">&amp;</span> <span class="identifier">that</span> <span class="special">);</span>
+ <span class="keyword">operator</span> <span class="identifier">T</span><span class="special">&amp;()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> <span class="keyword">const</span> <span class="identifier">wrapper_crtp</span><span class="special">&amp;</span> <span class="identifier">that</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span> <span class="keyword">const</span> <span class="identifier">wrapper_crtp</span><span class="special">&amp;</span> <span class="identifier">that</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">t</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">t</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">t</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
+ <span class="keyword">friend</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">&gt;&amp;</span>
+ <span class="keyword">operator</span><span class="special">&lt;&lt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">wrapper_crtp</span><span class="special">&amp;</span> <span class="identifier">w</span><span class="special">);</span>
+
+ <span class="special">};</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">rebind</span><span class="special">(</span> <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span> <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">wrapper_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.ref.wrapper.crtp.example"></a><h6>
+<a name="id36391550"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.crtp.example">Example</a>
+ </h6>
+<p>
+ None
+ </p>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="put.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/support.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/support.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,246 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Support</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ref.html" title="Ref">
+<link rel="next" href="../apx.html" title="Appendix">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../apx.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.support"></a><a class="link" href="support.html" title="Support">Support</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Config</span></dt>
+<dt><span class="section">Keyword</span></dt>
+<dt><span class="section">Traits</span></dt>
+</dl></div>
+<a name="boost_assign_v2.reference.support.header"></a><h5>
+<a name="id36391590"></a>
+ <a class="link" href="support.html#boost_assign_v2.reference.support.header">Header</a>
+ </h5>
+<p>
+ boost/assign/v2/detail/support.hpp
+ </p>
+<a name="boost_assign_v2.reference.support.description"></a><h5>
+<a name="id36391617"></a>
+ <a class="link" href="support.html#boost_assign_v2.reference.support.description">Description</a>
+ </h5>
+<p>
+ Functionality that supports various parts of the library
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign_v2.reference.support.config"></a><a class="link" href="support.html#boost_assign_v2.reference.support.config" title="Config">Config</a>
+</h4></div></div></div>
+<a name="config"></a><a name="boost_assign.reference.support.config.header"></a><h6>
+<a name="id36391659"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.config.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/support/config/limit_arity.hpp<br>
+ boost/assign/v2/support/config/limit_csv_arity.hpp<br>
+ boost/assign/v2/support/config/limit_lvalue_const_arity.hpp
+ </p>
+<a name="boost_assign.reference.support.config.description"></a><h6>
+<a name="id36391872"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.config.description">Description</a>
+ </h6>
+<p>
+ Constants that control arity of functors and csv functions, throughout
+ this library, under C++03
+ (not C++0x)
+ </p>
+<a name="boost_assign.reference.support.config.synopsis"></a><h6>
+<a name="id36391907"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.config.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">/*
+ Maximum arity for which functors are overloaded for any combination of const
+ and non-const lvalues under C++03. Be warned that the number of function
+ overloads increases geometrically with this number.
+*/</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_FUNCTOR_CONST_NON_CONST_ARITY</span> <span class="number">2</span>
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">/* n = BOOST_ASSIGN_V2_LIMIT_FUNCTOR_ARITY
+ Overload | Arity
+ -------------------------------------
+ functor() | 0
+ functor(x[0]) | 1
+ functor(x[0], x[1]) | 2
+ ...
+ functor(x[0], ..., x[n-1]) | n
+*/</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_FUNCTOR_ARITY</span> <span class="identifier">BOOST_MPL_LIMIT_METAFUNCTION_ARITY</span>
+
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">/* n = BOOST_ASSIGN_V2_CSV_LIMIT_ARITY
+ Overload | Arity
+ -------------------------------------
+ csv_fun(t[0]) | 1
+ csv_fun(t[0], t[1]) | 2
+ ...
+ csv_fun(t[0], ...., t[n-1]) | n
+*/</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_CSV_ARITY</span> <span class="number">12</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign_v2.reference.support.keyword"></a><a class="link" href="support.html#boost_assign_v2.reference.support.keyword" title="Keyword">Keyword</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.support.keyword.header"></a><h6>
+<a name="id36392036"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.keyword.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/detail/support/keyword.hpp
+ </p>
+<a name="boost_assign.reference.support.keyword.description"></a><h6>
+<a name="id36392067"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.keyword.description">Description</a>
+ </h6>
+<p>
+ A keyword is a <code class="computeroutput"><span class="keyword">const</span></code> object
+ whose identifier has a leading underscore, that refers to an action or
+ data-structure that has or is likely to have some use in other parts of
+ the library, as part of a class specialization, function dispatch etc.
+ </p>
+<a name="boost_assign.reference.support.keyword.synopsis"></a><h6>
+<a name="id36392100"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.keyword.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">kwd_ignore_</span>
+<span class="special">{</span>
+ <span class="identifier">kwd_ignore_</span><span class="special">(){}</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Anything</span><span class="special">&gt;</span> <span class="identifier">kwd_ignore_</span><span class="special">(</span><span class="identifier">Anything</span><span class="special">){}</span>
+<span class="special">};</span>
+<span class="keyword">struct</span> <span class="identifier">kwd_element_</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">kwd_key_</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">kwd_map_</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">kwd_nil_</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">kwd_use_default_</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">kwd_value_</span><span class="special">;</span>
+
+
+<span class="keyword">const</span> <span class="identifier">kwd_ignore_</span> <span class="identifier">_ignore</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">kwd_element_</span> <span class="identifier">_element</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">kwd_key_</span> <span class="identifier">_key</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">kwd_map_</span> <span class="identifier">_map</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">kwd_nil_</span> <span class="identifier">_nil</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">kwd_use_default_</span> <span class="identifier">_use_default</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">kwd_value_</span> <span class="identifier">_value</span><span class="special">;</span>
+
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.support.keyword.example"></a><h6>
+<a name="id36392429"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.keyword.example">Example</a>
+ </h6>
+<p>
+ None
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign_v2.reference.support.traits"></a><a class="link" href="support.html#boost_assign_v2.reference.support.traits" title="Traits">Traits</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.support.traits.header"></a><h6>
+<a name="id36392466"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.traits.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/support/traits.hpp
+ </p>
+<a name="boost_assign.reference.support.traits.description"></a><h6>
+<a name="id36392497"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.traits.description">Description</a>
+ </h6>
+<p>
+ Meta-functions that map a container to an associated type.
+ </p>
+<a name="boost_assign.reference.support.traits.synopsis"></a><h6>
+<a name="id36392519"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.traits.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">value_container_element</span><span class="special">;</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">value_container_key</span><span class="special">;</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">value_container_mapped</span><span class="special">;</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">value_container_value</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.support.traits.semantics"></a><h6>
+<a name="id36392698"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.traits.semantics">Semantics</a>
+ </h6>
+<p>
+ For value containers, the semantics each of meta-function is explicit from
+ its name. For a <a href="http://www.boost.org/doc/libs/release/libs/ptr_container/doc/ptr_container.html" target="_top">pointer
+ container</a>, the latter is first mapped to its value-container counterpart,
+ and the same meta-function evaluated over the latter.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../apx.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/tut.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/tut.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,611 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="prev" href="org.html" title="Organization">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="org.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_assign_v2.tut"></a><a class="link" href="tut.html" title="Tutorial">Tutorial</a>
+</h2></div></div></div>
+<a name="boost_assign.tut.requisites"></a><h4>
+<a name="id36332214"></a>
+ <a class="link" href="tut.html#boost_assign.tut.requisites">Requisites</a>
+ </h4>
+<p>
+ We assume in this tutorial that all the header files are included, as shown
+ in section <a class="link" href="org.html#full_include">Organization</a> and
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Headers from other libraries will not be shown in the code snippets of this
+ tutorial, but they can be found in the tutorial's actual <a href="../../../tutorial.cpp" target="_top">source
+ file</a>.
+ </p>
+<a name="boost_assign.tut.put"></a><h4>
+<a name="id36332286"></a>
+ <a class="link" href="tut.html#boost_assign.tut.put">Put</a>
+ </h4>
+<p>
+ Consider this example:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">map</span><span class="special">;</span>
+<span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)</span><a class="co" name="boost_assign1co" href="tut.html#boost_assign1"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">4</span><span class="special">,</span> <span class="string">"qux"</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">==</span> <span class="string">"foo"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">==</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">==</span> <span class="string">"baz"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">==</span> <span class="string">"qux"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign1"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">map</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span>
+ <span class="number">3</span> <span class="special">)</span> <span class="special">)</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ In this library, we call the variadic functor returned by <a class="link" href="reference/put.html#put"><code class="computeroutput">put</code></a>
+ an <a class="link" href="reference/interpreter.html#interpreter_crtp"><span class="emphasis"><em>interpreter</em></span></a>.
+ It performs two tasks:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ its arguments are forwarded to a <span class="emphasis"><em>data-generator</em></span>, which
+ outputs a data element.
+ </li>
+<li class="listitem">
+ it invokes a <span class="emphasis"><em>modifier</em></span>, <code class="computeroutput"><span class="identifier">insert</span></code>,
+ in this case
+ </li>
+</ul></div>
+<p>
+ The syntax is invariant across container categories, but not the semantics:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ For a map, as above, the first argument is treated as a key, and the rest
+ is forwarded to the mapped-type's constructor, <code class="computeroutput"><span class="identifier">word_</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span>
+ <span class="number">3</span> <span class="special">)</span></code>,
+ in the first call. Key and data are then combined into a pair, which is
+ inserted using modifier <code class="computeroutput"><span class="identifier">insert</span></code>.
+ </li>
+<li class="listitem">
+ For a sequence container, all arguments are forwarded to the value-type's
+ constructor, and the result is inserted using <code class="computeroutput"><span class="identifier">push_back</span></code>.
+ </li>
+</ul></div>
+<p>
+ For these and other container categories, see the specific rules for the <a class="link" href="reference/interpreter.html#data_gen_rules">data-generator</a> and those for the <a class="link" href="reference/interpreter.html#modifier_rules">modifier</a>.
+ Also see the <a class="link" href="apx/cont.html#containers">supported containers</a>.
+ </p>
+<a name="boost_assign.tut.csv"></a><h4>
+<a name="id36333161"></a>
+ <a class="link" href="tut.html#boost_assign.tut.csv">Csv</a>
+ </h4>
+<p>
+ As noted in the <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>,
+ <code class="computeroutput">put</code> caters to variable argument lists, whereas <code class="computeroutput">csv_put</code>
+ is reserved for a fixed number of arguments, which is denoted <code class="literal">I</code>.
+ There are two types of <code class="computeroutput">csv_put</code> overloads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ If <code class="literal">I</code> is ommited it is assumed to be equal to one and
+ is called the <span class="emphasis"><em>basic</em></span> form.
+ </li>
+<li class="listitem">
+ If <code class="literal">I</code> is specified as an integer template parameter it
+ is called the <span class="emphasis"><em>extended</em></span> form. In the <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>'s
+ example, <code class="literal">I = 2</code>.
+ </li>
+</ul></div>
+<p>
+ Other identifiers starting with <span class="emphasis"><em>csv</em></span> are treated similarly
+ <sup>[<a name="id36333250" href="#ftn.id36333250" class="footnote">6</a>]</sup>, and the two forms are defined in headers with suffixes <span class="emphasis"><em>basic</em></span>
+ and <span class="emphasis"><em>ext</em></span>, respectively. Among such identifiers, function
+ <code class="computeroutput">csv</code> extends the interface of an interpreter, shown below in its
+ basic form:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">numeric</span><span class="special">(</span> <span class="number">10</span> <span class="special">);</span> <span class="identifier">iota</span><span class="special">(</span> <span class="identifier">numeric</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">variant</span><span class="special">&lt;</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">str_</span> <span class="special">&gt;</span> <span class="identifier">data_</span><span class="special">;</span>
+<span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">data_</span><span class="special">,</span> <span class="number">17</span><span class="special">&gt;</span> <span class="identifier">keypad</span><span class="special">;</span>
+
+<a class="co" name="boost_assign2co" href="tut.html#boost_assign2"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">keypad</span> <span class="special">),</span>
+ <span class="string">"+"</span><span class="special">,</span> <span class="string">"-"</span><span class="special">,</span> <span class="string">"*"</span><span class="special">,</span> <span class="string">"/"</span><span class="special">,</span> <span class="string">"="</span><span class="special">,</span> <span class="string">"."</span><span class="special">,</span> <span class="string">"c"</span>
+<span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">str_</span><span class="special">&gt;(</span> <span class="identifier">keypad</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="string">"+"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">keypad</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">9</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign2"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Equivalent to <code class="computeroutput"><span class="identifier">put</span><span class="special">(</span>
+ <span class="identifier">keypad</span> <span class="special">)(</span>
+ <span class="string">"+"</span> <span class="special">)(</span>
+ <span class="string">"-"</span> <span class="special">)...(</span>
+ <span class="string">"."</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">)</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ The second novelty to notice is the expression <code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">numeric</span></code>
+ is a range.
+ It instructs the interpreter to scan the range's elements, and process each
+ as if passed as an individual argument. This function shares some commonality
+ with the csv-form since it assumes a fixed arity, I = 1. There is also an extended
+ syntax, <code class="computeroutput"><span class="identifier">for_each</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> r <span class="special">)</span></code>. See the <a class="link" href="reference/put.html" title="Put">reference</a>
+ for details.
+ </p>
+<a name="boost_assign.tut.pipe_syntax"></a><h4>
+<a name="id36333861"></a>
+ <a class="link" href="tut.html#boost_assign.tut.pipe_syntax">Pipe syntax</a>
+ </h4>
+<p>
+ Suppose we wish to put a set of integers in a container and, in the same statement,
+ pass it through a mutating algorithm:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span> <span class="number">6</span> <span class="special">),</span> <span class="identifier">target</span><span class="special">;</span> <span class="identifier">iota</span><span class="special">(</span> <span class="identifier">source</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+
+<span class="identifier">range</span><span class="special">::</span><span class="identifier">stable_partition</span><span class="special">(</span>
+ <span class="identifier">target</span> <span class="special">|</span> <span class="identifier">_do_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">),</span>
+ <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">%</span> <span class="number">2</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ The vertical bar, <code class="computeroutput"><span class="special">|</span></code>, expresses
+ the on-the-fly modification we were looking for, and call it <span class="emphasis"><em>piping</em></span>
+ after the related idiom
+ by the same name. A related feature is Boost.Range's <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptors</a>. Also see the <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>'s
+ example.
+ </p>
+<a name="boost_assign.tut.container_generation"></a><h4>
+<a name="id36334088"></a>
+ <a class="link" href="tut.html#boost_assign.tut.container_generation">Container generation</a>
+ </h4>
+<a name="tut_cont_gen"></a><p>
+ After having assigned <code class="computeroutput"><span class="identifier">target</span></code>
+ and, in the same statement, passed it through a <a href="http://www.boost.org/doc/libs/1_46_0/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html" target="_top">stable
+ partition</a> algorithm, let's verify the state of the container against
+ that of an in place generated container:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span>
+ <span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">target</span><span class="special">,</span> <span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ In keeping with our previously established <span class="emphasis"><em>csv</em></span> convention,
+ there are two variants of container generating function <a class="link" href="reference/deque.html#csv_deque"><code class="computeroutput">csv_deque</code></a>,
+ basic and extented, and it is paired with a functor form, <a class="link" href="reference/deque.html#deque"><code class="computeroutput">deque</code></a>.
+ </p>
+<a name="tut_empty"></a><p>
+ Another convention, which we now introduce by way of example, is that which
+ governs the generation of an empty container:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span> <span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">_nil</span> <span class="special">).</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="comment">// Functor form
+</span><span class="identifier">assert</span><span class="special">(</span> <span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;().</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="comment">// Csv form
+</span></pre>
+<p>
+ </p>
+<p>
+ In comparison, <code class="computeroutput">deque<span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;()</span></code> and <code class="computeroutput">csv_deque<span class="special">(</span>
+ <span class="keyword">int</span><span class="special">()</span> <span class="special">)</span></code> generate a container of size <code class="literal">1</code>,
+ whose element is default constructed.
+ </p>
+<a name="boost_assign.tut.pointer_containers"></a><h4>
+<a name="id36334446"></a>
+ <a class="link" href="tut.html#boost_assign.tut.pointer_containers">Pointer-containers</a>
+ </h4>
+<p>
+ To insert elements in a <a href="http://www.boost.org/doc/libs/release/libs/ptr_container/doc/ptr_container.html" target="_top">pointer
+ container</a>, pretend it is a value-container:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span> <span class="identifier">ptr_set</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">words</span><span class="special">;</span>
+<a class="co" name="boost_assign3co" href="tut.html#boost_assign3"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">words</span><span class="special">,</span> <span class="string">"isomer"</span><span class="special">,</span> <span class="string">"ephemeral"</span><span class="special">,</span> <span class="string">"prosaic"</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">words</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"isomer"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">words</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"prosaic"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign3"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">assoc</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="keyword">new</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">s</span> <span class="special">)</span> <span class="special">)</span></code> for
+ <code class="literal">s = "isomer", "ephemeral", "prosaic"</code>
+ </p></td>
+</tr></table></div>
+<a name="boost_assign.tut.options"></a><h4>
+<a name="id36334751"></a>
+ <a class="link" href="tut.html#boost_assign.tut.options">Options</a>
+ </h4>
+<p>
+ An <a class="link" href="reference/option.html" title="Option">option</a> overrides
+ the default semantics, described under heading <span class="bold"><strong>Put</strong></span>,
+ above, of
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ the data-generator, or
+ </li>
+<li class="listitem">
+ the modifier
+ </li>
+</ul></div>
+<p>
+ Here's an example of an option for overriding the deduced <span class="bold"><strong>data-generator</strong></span>:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">exponent</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">function</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">(</span><span class="keyword">double</span><span class="special">)&gt;</span> <span class="identifier">f_</span><span class="special">;</span>
+<a class="co" name="boost_assign4co" href="tut.html#boost_assign4"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">exponent</span> <span class="special">)</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">_data</span> <span class="special">=</span> <span class="identifier">f_</span><span class="special">(</span> <span class="identifier">log10</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="number">1.0</span><span class="special">,</span> <span class="number">10.0</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">1000.0</span><span class="special">,</span> <span class="number">10000.0</span>
+<span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">eps</span> <span class="special">=</span> <span class="identifier">numeric</span><span class="special">::</span><span class="identifier">bounds</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">smallest</span><span class="special">();</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">-</span> <span class="number">0.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">-</span> <span class="number">4.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign4"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Equivalent to <code class="computeroutput"><span class="identifier">exponent</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="keyword">double</span><span class="special">(</span> <span class="identifier">log10</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)</span> <span class="special">)</span> <span class="special">)</span></code>
+ for <code class="literal">x = 1.0, ..., 10000.0</code>
+ </p></td>
+</tr></table></div>
+<p>
+ Option keyword <code class="computeroutput">_data</code> accepts as input two kinds of objects:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ A functor, such as <code class="computeroutput"><span class="identifier">f_</span><span class="special">(</span>
+ <span class="identifier">log10</span> <span class="special">)</span></code>,
+ above
+ </li>
+<li class="listitem">
+ A keyword : <code class="computeroutput">_key</code>, <code class="computeroutput">_element</code>, <code class="computeroutput">_mapped</code>,
+ and <code class="computeroutput">_value</code>.
+ </li>
+</ul></div>
+<p>
+ The second kind is only needed in rather special cases, yet here's how it works:
+ with <code class="computeroutput">_data <span class="special">=</span> _value</code> <sup>[<a name="id36335346" href="#ftn.id36335346" class="footnote">7</a>]</sup> the data-generator is changed to the container's value-type constructor
+ <sup>[<a name="id36335383" href="#ftn.id36335383" class="footnote">8</a>]</sup>, and likewise for other keywords.
+ </p>
+<p>
+ Here's an example that changes the internal <span class="bold"><strong>modifier</strong></span>
+ to <code class="computeroutput"><span class="identifier">push_front</span></code>, with <code class="literal">I
+ = 1</code>:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">circular_buffer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cb</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span>
+ <span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cb</span> <span class="special">|</span> <span class="identifier">do_csv_put</span><span class="special">&lt;</span><span class="identifier">push_front_</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;(</span> <span class="number">3</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span> <span class="special">),</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ As seen from these two examples, there is a difference of syntax between the
+ functor and its dual csv form:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The functor form uses <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code> with an option keyword, say <code class="computeroutput">_push_front</code>.
+ </li>
+<li class="listitem">
+ The csv form specifies the option with a template argument, say <code class="computeroutput"><span class="identifier">push_front_</span></code>.
+ </li>
+</ul></div>
+<p>
+ Consequently, only default constructible options are allowed in the second
+ case. Function <code class="computeroutput">deque</code> works both ways:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_modifier</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">_repeat</span> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="identifier">_nil</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">1000</span>
+ <span class="special">),</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1000</span><span class="special">,</span> <span class="number">1000</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Composing the two options, here, could have alternatively been achieved as
+ follows: <code class="computeroutput"><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">_nil</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">_push_front</span>
+ <span class="special">%</span> <span class="identifier">_modifier</span></code>.
+ This composition syntax extends to an arbitrary number of options.
+ </p>
+<p>
+ Creating a custom modifier-option is facilitated by <a class="link" href="reference/option.html#modifier_macro">macros</a>
+ that manage the overhead.
+ </p>
+<a name="boost_assign.tut.reference_arrays"></a><h4>
+<a name="id36336005"></a>
+ <a class="link" href="tut.html#boost_assign.tut.reference_arrays">Reference arrays</a>
+ </h4>
+<p>
+ In the examples that precede, <code class="computeroutput">csv_deque</code> could be replaced by
+ <a class="link" href="reference/ref.html#ref_csv_array"><code class="computeroutput">ref::csv_array</code></a>, which returns
+ a reference-array. The reciprocal is not true, in general:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ A reference-array is preferable if the values are expensive to copy
+ </li>
+<li class="listitem">
+ It is necessary for working specifically with references
+ </li>
+</ul></div>
+<p>
+ The second case is illustrated below:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">4</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">6</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">max</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">max_element</span><span class="special">(</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">max</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">y</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Here, an implicit conversion takes place, from each of the reference-array's
+ element (a reference wrapper) to the reference it holds. More generally,
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ In read mode, as above, the context usually suffices to cause this conversion.
+ </li>
+<li class="listitem">
+ In write-mode i.e. if the values of the held references are to be modified,
+ explicit conversion is usually required.
+ </li>
+</ul></div>
+<p>
+ Explicit conversion is achieved using a <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptor</a> identified by keyword <code class="computeroutput">ref::_get</code>:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">vec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">y</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ In keeping with our <span class="emphasis"><em>csv</em></span> convention, <code class="computeroutput">ref::csv_array</code>
+ has a functor dual, <a class="link" href="reference/ref.html#ref_array"><code class="computeroutput">ref::array</code></a>.
+ Unlike <code class="computeroutput">put</code> or <code class="computeroutput">deque</code>, it is unary (not variadic).
+ </p>
+<a name="boost_assign.tut.chaining"></a><h4>
+<a name="id36336588"></a>
+ <a class="link" href="tut.html#boost_assign.tut.chaining">Chaining</a>
+ </h4>
+<p>
+ Chaining ranges is already provided by join in Boost.Range.
+ Here's a <a class="link" href="reference.html#chain">variant</a> that caters to reference arrays:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span> <span class="number">8</span> <span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">source</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">4</span><span class="special">&gt;</span> <span class="identifier">head</span><span class="special">;</span> <span class="keyword">int</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">l</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">head</span> <span class="special">|</span> <span class="identifier">_chain</span><span class="special">(</span>
+ <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">l</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">head</span><span class="special">,</span> <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span> <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">t</span> <span class="special">==</span> <span class="number">5</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">==</span> <span class="number">6</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">i</span> <span class="special">==</span> <span class="number">7</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">l</span> <span class="special">==</span> <span class="number">8</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Note that
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ This algorithm modifies <code class="computeroutput"><span class="identifier">x</span></code>,
+ <code class="computeroutput"><span class="identifier">y</span></code> and <code class="computeroutput"><span class="identifier">z</span></code>
+ even though the array returned by <code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span></code>
+ is a temporary.
+ </li>
+<li class="listitem">
+ Keyword <a class="link" href="reference/ref.html#ref_get"><code class="computeroutput">ref::_get</code></a> is needed
+ in conjunction with a reference-array, as explained under the previous
+ heading, but otherwise it should be ommited.
+ </li>
+<li class="listitem">
+ There is a shorter syntax, using <a class="link" href="reference.html#chain_operator"><code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;&amp;</span></code></a>.
+ </li>
+</ul></div>
+<a name="boost_assign.tut.conversion"></a><h4>
+<a name="id36337241"></a>
+ <a class="link" href="tut.html#boost_assign.tut.conversion">Conversion</a>
+ </h4>
+<p>
+ This section deals with conversion from a Range
+ to collections of elements that need not (but may) support iterators. For example,
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+
+<span class="identifier">C</span> <span class="identifier">fifo</span> <span class="special">=</span> <a class="co" name="boost_assign5co" href="tut.html#boost_assign5"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">converter</span><span class="special">(</span> <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="number">3</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign5"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Returns a container constructed like this : <code class="computeroutput"><span class="identifier">C</span>
+ <span class="identifier">cont</span><span class="special">;</span>
+ <span class="identifier">put</span><span class="special">(</span>
+ <span class="identifier">cont</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">csv_deque</span><span class="special">(</span>
+ <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span>
+ <span class="special">)</span> <span class="special">);</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ Notice that the left hand side of <code class="computeroutput"><span class="special">=</span></code>
+ is an adapter
+ so, unlike the container in the right hand side, it is not a Range.
+ Here, the object returned by <a class="link" href="reference/conversion.html#converter">converter</a> is
+ able to deduce the appropriate conversion (implicit), but some contexts necessitate
+ <a class="link" href="reference/conversion.html#convert">explicit conversion</a>. It is illustrated by continuing
+ the above snippet as follows:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span>
+ <span class="special">(</span> <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;()</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">fifo</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Here's an example combining implicit and explicit conversion:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">sz</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">sz</span><span class="special">&gt;</span> <span class="identifier">row_</span><span class="special">;</span>
+
+<span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">row_</span><span class="special">&gt;</span> <span class="identifier">as_row</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">row_</span><span class="special">,</span> <span class="identifier">sz</span><span class="special">&gt;</span> <span class="identifier">matrix3x3</span> <span class="special">=</span> <span class="identifier">converter</span><span class="special">(</span>
+ <span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span>
+ <span class="special">(</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as_row</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as_row</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as_row</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">9</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">matrix3x3</span><span class="special">[</span> <span class="identifier">i</span> <span class="special">/</span> <span class="number">3</span> <span class="special">][</span> <span class="identifier">i</span> <span class="special">%</span> <span class="number">3</span> <span class="special">]</span> <span class="special">==</span> <span class="identifier">i</span> <span class="special">+</span> <span class="number">1</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36333250" href="#id36333250" class="para">6</a>] </sup>
+ <span class="emphasis"><em>csv</em></span> stands for comma separated values
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36335346" href="#id36335346" class="para">7</a>] </sup>
+ The type of expression <code class="computeroutput">_data <span class="special">=</span> _value</code>
+ has alias <code class="computeroutput"><span class="identifier">value_</span></code>, so that
+ <code class="computeroutput"><span class="identifier">value_</span><span class="special">()</span></code>
+ can be used as a shortcut.
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36335383" href="#id36335383" class="para">8</a>] </sup>
+ For pointer-container, pretend it is the counterpart that stores its element
+ by value.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="org.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2_HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2_HTML.manifest 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,19 @@
+index.html
+boost_assign_v2/org.html
+boost_assign_v2/tut.html
+boost_assign_v2/reference.html
+boost_assign_v2/reference/conversion.html
+boost_assign_v2/reference/deque.html
+boost_assign_v2/reference/include.html
+boost_assign_v2/reference/interpreter.html
+boost_assign_v2/reference/option.html
+boost_assign_v2/reference/put.html
+boost_assign_v2/reference/ref.html
+boost_assign_v2/reference/support.html
+boost_assign_v2/apx.html
+boost_assign_v2/apx/change_log.html
+boost_assign_v2/apx/cont.html
+boost_assign_v2/apx/conv.html
+boost_assign_v2/apx/perf.html
+boost_assign_v2/apx/port.html
+boost_assign_v2/apx/support.html

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/index.html 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,251 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;Boost.Assign 2.0</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="next" href="boost_assign_v2/org.html" title="Organization">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_assign_v2/org.html"><img src="../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="chapter">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="boost_assign_v2"></a>Chapter&#160;1.&#160;Boost.Assign 2.0</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Ottosen</span> <span class="surname">Thorsten</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Erwann</span> <span class="surname">Rogard</span>
+</h3></div></div>
+<div><p class="copyright">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard</p></div>
+<div><div class="legalnotice">
+<a name="id36330860"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Introduction</span></dt>
+<dt><span class="section">Organization</span></dt>
+<dt><span class="section">Tutorial</span></dt>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Chain</span></dt>
+<dd><dl>
+<dt><span class="section">Adaptor</span></dt>
+<dt><span class="section">Operator</span></dt>
+</dl></dd>
+<dt><span class="section">Conversion</span></dt>
+<dd><dl>
+<dt><span class="section">Convert</span></dt>
+<dt><span class="section">Converter</span></dt>
+</dl></dd>
+<dt><span class="section">Deque</span></dt>
+<dd><dl>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_deque</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_deque_basic</span></dt>
+<dt><span class="section">Csv_deque_ext</span></dt>
+<dt><span class="section">Result_of</span></dt>
+</dl></dd>
+<dt><span class="section">Deque</span></dt>
+</dl></dd>
+<dt><span class="section">Include</span></dt>
+<dt><span class="section">Interpreter</span></dt>
+<dd><dl>
+<dt><span class="section">Crtp</span></dt>
+<dt><span class="section">Csv</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_basic</span></dt>
+<dt><span class="section">Csv_ext</span></dt>
+</dl></dd>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+</dl></dd>
+<dt><span class="section">Option</span></dt>
+<dd><dl>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+<dd><dl>
+<dt><span class="section">Framework</span></dt>
+<dt><span class="section">Iterate</span></dt>
+<dt><span class="section">Mapped</span></dt>
+<dt><span class="section">Repeat</span></dt>
+<dt><span class="section">Row_major</span></dt>
+<dt><span class="section">Std_modifier</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Put</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_put</span></dt>
+<dd><dl>
+<dt><span class="section">Csv_put_basic</span></dt>
+<dt><span class="section">Csv_put_ext</span></dt>
+</dl></dd>
+<dt><span class="section">Do_csv_put</span></dt>
+<dt><span class="section">Do_put</span></dt>
+<dt><span class="section">Put</span></dt>
+</dl></dd>
+<dt><span class="section">Ref</span></dt>
+<dd><dl>
+<dt><span class="section">Array</span></dt>
+<dd><dl>
+<dt><span class="section">Array</span></dt>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_array</span></dt>
+<dt><span class="section">Get</span></dt>
+<dt><span class="section">Interface</span></dt>
+</dl></dd>
+<dt><span class="section">Wrapper</span></dt>
+<dd><dl>
+<dt><span class="section">Copy</span></dt>
+<dt><span class="section">Crtp</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Support</span></dt>
+<dd><dl>
+<dt><span class="section">Config</span></dt>
+<dt><span class="section">Keyword</span></dt>
+<dt><span class="section">Traits</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Appendix</span></dt>
+<dd><dl>
+<dt><span class="section">Acknowledgement</span></dt>
+<dt><span class="section">Change_log</span></dt>
+<dd><dl><dt><span class="section"><a href="boost_assign_v2/apx/change_log.html#boost_assign.apx.change_log.v2">[Proposal for] Upgrading
+ from Boost v1.4x : Boost.Assign 2.0</a></span></dt></dl></dd>
+<dt><span class="section">Containers</span></dt>
+<dt><span class="section">Doc conventions</span></dt>
+<dt><span class="section">Performance</span></dt>
+<dt><span class="section">Portability</span></dt>
+<dt><span class="section">Support</span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_assign_v2.intro"></a><a class="link" href="index.html#boost_assign_v2.intro" title="Introduction">Introduction</a>
+</h2></div></div></div>
+<a name="intro"></a><p>
+ This second version of Boost.Assign
+ is a new design, with optional support for C++0x.
+ Its core utility is a compact interface for executing the repetitive tasks
+ of assigning or inserting elements in a container, such as follows:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">map_</span><span class="special">;</span> <span class="identifier">map_</span> <span class="identifier">cal</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">map_</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p_</span><span class="special">;</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span>
+ <a class="co" name="boost_assign_v20co" href="index.html#boost_assign_v20"><img src="../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">cal</span> <span class="special">|</span> <span class="identifier">do_csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">p_</span><span class="special">::</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">':'</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">p_</span><span class="special">::</span><span class="identifier">second</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">::</span> <span class="identifier">_1</span> <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+<span class="special">);</span> <span class="comment">// prints jan:31 feb:28 mar:31
+</span></pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign_v20"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">cal</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="identifier">p_</span><span class="special">(</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">x</span>
+ <span class="special">)</span> <span class="special">);</span></code>
+ for each <code class="literal">( k, x )</code> pair in the argurment list, and returns
+ <code class="computeroutput"><span class="identifier">cal</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ This example captures the basic features of this library:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ It maps arguments to a suitable data-element, <code class="computeroutput"><span class="identifier">p_</span><span class="special">(</span> <span class="identifier">k</span><span class="special">,</span>
+ <span class="identifier">x</span> <span class="special">)</span></code>,
+ and invokes a container's modifier, <code class="computeroutput"><span class="identifier">insert</span></code>.
+ These semantics vary by container category.
+ </li>
+<li class="listitem">
+ Operator <code class="computeroutput"><span class="special">|</span></code> returns the modified
+ container, thereby facilitating integration with <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/algorithms.html" target="_top">range
+ algorithms</a>. There is a function, <a class="link" href="boost_assign_v2/reference/put.html#csv_put"><code class="computeroutput">csv_put</code></a>,
+ that achieves the same as above, but without returning the container.
+ </li>
+</ul></div>
+<p>
+ Additional features include:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ <a class="link" href="boost_assign_v2/reference/option.html" title="Option">Options</a> for overriding
+ default semantics, and <a class="link" href="boost_assign_v2/reference/option.html#option_modifier">macros</a> to
+ create custom options
+ </li>
+<li class="listitem">
+ A functor analogue of <code class="computeroutput">csv_put</code>, <a class="link" href="boost_assign_v2/reference/put.html#put"><code class="computeroutput">put</code></a>,
+ for constructing a sequence of elements from variadic argument lists
+ </li>
+<li class="listitem">
+ Two functions, <a class="link" href="boost_assign_v2/reference/deque.html#csv_deque"><code class="computeroutput">csv_deque<span class="special">&lt;&gt;</span></code></a>
+ and <a class="link" href="boost_assign_v2/reference/deque.html#deque"><code class="computeroutput"><span class="identifier">deque</span><span class="special">&lt;&gt;</span></code></a>, which are the analogues
+ of those just described, but which generate a container.
+ </li>
+</ul></div>
+<p>
+ Functionality that is adjunct to or independent of what precedes is itemized
+ below:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ <a class="link" href="boost_assign_v2/reference.html#boost_assign_v2.reference.chain" title="Chain">Chaining</a> ranges,
+ with special consideration for those created using the <span class="emphasis"><em>ref</em></span>
+ functionalty (below)
+ </li>
+<li class="listitem">
+ <a class="link" href="boost_assign_v2/reference/conversion.html" title="Conversion">Conversion</a>
+ from ranges to containers
+ </li>
+<li class="listitem">
+ A framework, whose identifiers are in namespace <a class="link" href="boost_assign_v2/reference/ref.html" title="Ref"><code class="computeroutput"><span class="identifier">ref</span></code></a>, for generating an array
+ of reference wrappers, for short, a <span class="emphasis"><em>reference-array</em></span>.
+ </li>
+</ul></div>
+<p>
+ Functionality is defined in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">v2</span></code>, thereby
+ avoiding any clash with the prior version <sup>[<a name="id36331602" href="#ftn.id36331602" class="footnote">1</a>]</sup>.
+ </p>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36331602" href="#id36331602" class="para">1</a>] </sup>
+ Recall that the the <a href="../../../../../libs/assign/doc/index.html" target="_top">prior
+ version</a> is in <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span></code>.
+ In a project it is more coherent to use only one version
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: June 09, 2011 at 21:33:12 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_assign_v2/org.html"><img src="../../doc/src/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/include.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/include.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,114 @@
+[#include]
+
+[heading Header]
+[@../../../../../boost/assign/v2/include.hpp `boost/assign/v2/include.hpp`]
+
+[heading Description]
+
+Includes all the headers or subdirectories in the [@../../../../../boost/assign/v2/include/ directory] by that name.
+This directory collects headers that, save for one exception, are named after an identifier. The exception is header [@../../../../../boost/assign/v2/include/option.hpp `boost/assign/v2/include/option.hpp`] that defines
+all the options. To include only a specific option, refer to section [link boost_assign_v2.reference.option Option].
+
+Also see section [link org_headers Organization].
+
+[/
+[heading Synopsis]
+
+[def __invoke_option__ `__object_interpreter__ % `]
+
+[table
+ [[Identifier][Usage][Module]]
+ [
+ [`__kwd_chain__`]
+ [`__range__1 | __kwd_chain__( __range__2 )`]
+ [[link boost_assign_v2.reference.chain Chain]]
+ ]
+ [
+ [`__kwd_convert__`]
+ [`__range__ | __fun_convert__<__cont_type__>()`]
+ [[link boost_assign_v2.reference.conversion Conversion]]
+ ]
+ [
+ [`__kwd_csv_put__`]
+ [`__cont__ | ( __kwd_csv_put__ __invoke_options__ )( __args__ )`]
+ [[link boost_assign_v2.reference.csv Csv]]
+ ]
+ [
+ [`__fun_converter__`]
+ [`__cont_type__ __cont__ = __fun_converter__( __range__ )`]
+ [__link_option__]
+ ]
+ [
+ [`__fun_csv__`]
+ [`__fun_csv__( functor, __args__)`]
+ [__link_option__]
+ ]
+ [
+ [`__fun_csv_deque__`]
+ [`__fun_csv_deque__( __args__ )`]
+ [__link_deque__]
+ ]
+ [
+ [`__fun_deque__`]
+ [`__fun_deque__<__value_type__>( __args__ )`]
+ [__link_deque__]
+ ]
+ [
+ [`__fun_put__`]
+ [`__fun_put__( __cont__ )( __args1__ ) __ellipsis__( __argsn__ )`]
+ [__link_put__]
+ ]
+]
+
+]
+
+
+
+ [/
+ [[^chain.hpp]]
+ [`__range__1 && __range__2`]
+ [__describe_chain__]
+ [__link_utility_chain__]
+ ]
+
+
+[/table
+ [`__ref_array__( __value__1 ) ... ( __value_n__ )`]
+ [__link_ref_array__]
+ [`__fun_ref_csv_array__( __value__... )`]
+ [__link_ref_array__]
+ [[^get.hpp]]
+ [__link_ref_wrapper__]
+]
+
+[/
+[section:include Include]
+[#ref_include]
+[tpl_module
+ [@../../../../../boost/assign/v2/ref/include.hpp `boost/assign/v2/ref/include.hpp`]
+ ..Header lookup by identifier
+]
+
+[heading Synopsis]
+
+[table
+ [[Identifier][Usage][Module]]
+ [
+ [`__fun_ref_array__`]
+ [`__fun_ref_array__( __arg__1 ) __ellipsis__ ( __argn__ )`]
+ [ [link ref_array Ref.Array] ]
+ ]
+ [
+ [`__fun_ref_csv_array__`]
+ [`__fun_ref_csv_array__( __args__ )`]
+ [ [link ref_array Ref.Array] ]
+ ]
+ [
+ [`__kwd_ref_get__`]
+ [`__ref_array__ | __kwd_ref_get__`]
+ [ [link ref_array Ref.Array] ]
+ ]
+]
+
+[endsect][/include]
+]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/interpreter.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/interpreter.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,201 @@
+[tpl_module
+ [@../../../../../boost/assign/v2/interpreter.hpp `boost/assign/v2/interpreter.hpp`]
+ ..Interpreter framework
+]
+
+[section:crtp Crtp]
+[#interpreter_crtp]
+
+[import ../../../../boost/assign/v2/interpreter/crtp.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/interpreter/crtp.hpp `boost/assign/v2/interpreter/crtp.hpp`]
+
+[heading Description]
+A crtp class that exposes a functor interface. Arguments are forwarded to a data-generator whose result is forwarded to a container modifier.
+
+[heading Synopsis]
+[syntax_interpreter_crtp]
+
+[endsect][/crtp]
+[section:csv Csv]
+[#interpreter_csv]
+
+[heading Header]
+[@../../../../../boost/assign/v2/interpreter/csv.hpp `boost/assign/v2/interpreter/csv.hpp`]
+
+[heading Description]
+Extends the interface of [link interpreter_crtp `interpreter_crtp`] with a csv-syntax. __csv_form__
+
+[section:csv_basic Csv_basic]
+[#interpreter_csv_basic]
+
+[import ../../../../boost/assign/v2/interpreter/csv/csv_basic.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/interpreter/csv/csv_basic.hpp `boost/assign/v2/interpreter/csv/csv_basic.hpp`]
+
+[heading Description]
+__csv_form_basic__
+
+[heading Synopsis]
+[syntax_interpreter_csv_basic]
+
+[endsect][/csv_basic]
+[section:csv_ext Csv_ext]
+[#interpreter_csv_ext]
+
+[import ../../../../boost/assign/v2/interpreter/csv/csv_ext.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/interpreter/csv/csv_ext.hpp `boost/assign/v2/interpreter/csv/csv_ext.hpp`]
+
+[heading Description]
+
+__csv_form_ext__
+
+[heading Synopsis]
+[syntax_interpreter_csv_ext]
+
+[endsect][/ csv_ext]
+[endsect][/ csv]
+[section:data Data]
+
+[import ../../../../boost/assign/v2/interpreter/data.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/interpreter/data.hpp `boost/assign/v2/interpreter/data.hpp`]
+
+[heading Description]
+Interpreter's data generator. An interpreter's arguments are forwarded to the data-generator whose task is to generate a suitable data-element.
+
+[heading Synopsis]
+[syntax_interpreter_data]
+
+[heading Semantics]
+
+[#data_gen_rules]
+
+[*Notation]
+
+[variablelist
+ [
+ [`__cont_type__`]
+ [Container type]
+ ]
+ [
+ [`__object__`]
+ [Instance of `interpreter_aux::deduce_data_generator<__cont_type__>::type`]
+ ]
+ [
+ [`__element_type__`]
+ [`container_value_element<__cont_type__>::type`]
+ ]
+ [
+ [`__mapped_type__`]
+ [`container_value_mapped<__cont_type__>::type`]
+ ]
+ [
+ [`__value_type__`]
+ [`container_value_value<__cont_type__>::type`]
+ ]
+]
+
+[*Expressions]
+
+[table
+ [
+ [Case]
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__cont_type__` is a map]
+ [`__object__( __key__, __args__ )`]
+ [`__value_type__(__key__, __mapped_type__( __args__ ) )`]
+ ]
+ [
+ [`__cont_type__` is a multi-array]
+ [`__object__( __args__ )`]
+ [`__element_type__( __args__ )`]
+ ]
+ [
+ [Otherwise]
+ [`__object__( __args__ )`]
+ [`__value_type__( __args__ )`]
+ ]
+]
+
+See supported [link containers containers].
+
+[endsect][/data]
+[section:modifier Modifier]
+[#interpreter_modifier]
+
+[import ../../../../boost/assign/v2/interpreter/modifier.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/interpreter/modifier.hpp `boost/assign/v2/interpreter/modifier.hpp`]
+
+[heading Description]
+Interpreter's modifier. The value supplied by the data-generator is forwarded to the interpreter's modifier, whose job is to insert that value
+in a container.
+
+[heading Synopsis]
+[syntax_interpreter_modifier]
+
+[*Parameters]
+
+[table
+ [
+ [Parameter]
+ [Description]
+ ]
+ [
+ [`MTag`]
+ [Specifies a modifier]
+ ]
+ [
+ [`DTag`]
+ [
+ Specifies an aspect of the implementation depending on `__cont_type__`'s
+ storage (value or pointer) and modifier interface (maps require a special treatment).
+ ]
+ ]
+]
+
+[heading Semantics]
+[#modifier_rules]
+
+Metafunction `deduce_modifier_tag<__cont_type__>` implements the following switch statement:
+
+[table
+ [
+ [Case]
+ [Result]
+ ]
+ [
+ [`__cont_type__` is [tpl_multi_array multi_array]]
+ [[link row_major `modifier_tag::row_major`]]
+ ]
+ [
+ [`__cont_type__` is [tpl_stl_assoc Associative]]
+ [[link std_modifier `modifier_tag::insert`]]
+ ]
+ [
+ [`__cont_type__` is an [tpl_boost_array Array]]
+ [[link option_iterate `modifier_tag::iterate`]]
+ ]
+ [
+ [`__cont_type__` is an [tpl_stl_adapter Adapter]]
+ [[link std_modifier `modifier_tag::push`]]
+ ]
+ [
+ [None of the above]
+ [[link std_modifier `modifier_tag::push_back`]]
+ ]
+]
+
+See [link containers Containers] supported.
+
+[endsect][/modifier]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/option.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/option.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,39 @@
+
+[def __option_data_gen__ Option to replace an interpreter's data generator]
+[def __option_std_modifier__ Standard modifier option]
+
+[import ../test/option/mapped.cpp]
+
+[#option]
+
+[heading Header]
+[@../../../../../boost/assign/v2/option.hpp `boost/assign/v2/option.hpp`]
+
+[heading Description]
+
+An [link boost_assign_v2.reference.interpreter interpreter] is a class derived from [link boost_assign_v2.reference.interpreter
+interpreter_crtp<>] which has, as part of its components, a data-generator, and a modifier. Options are an interface for overriding
+either of these two components.
+
+[heading Semantics]
+
+[table
+ [[Expression][Description]]
+ [[`__object_interpreter__ __invoke_options__`][ Returns an interpreter with a modified type or state ]]
+]
+
+[heading Notation]
+
+[variablelist
+ [[`args...`][Arguments passed to `__object_interpreter__` ]]
+ [[`__value__`][Data member internally generated by invoking `__object_interpreter__( args... )`]]
+ [[`__cont__`][Container that `__object_interpreter__` internally modifies]]
+ [[`__cont_type__`][Type of `__cont__`]]
+]
+
+[section:data Data]
+[include option_data.qbk]
+[endsect]
+[section:modifier Modifier]
+[include option_modifier.qbk]
+[endsect]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/option_data.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/option_data.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,27 @@
+[import ../../../../boost/assign/v2/option/data.hpp]
+[import ../test/option/data.cpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/option/data.hpp `boost/assign/v2/option/data.hpp`]
+
+[heading Description]
+Options to alter the data-generator of an [link boost_assign_v2.reference.interpreter interpreter].
+
+[heading Synopsis]
+[syntax_option_data]
+
+[heading Semantics]
+
+Option `__kwd_mapped__` alters [link boost_assign_v2.reference.interpreter interpreter] such that its arguments are forwarded to
+the constructor of the internal container's mapped-type, if it exists. Likewise for the other keywords.
+
+[heading Example]
+
+[*Example1]
+[test_data1]
+
+[*Example2]
+[test_data2]
+
+[*Example3]
+[test_data3]
\ No newline at end of file

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/option_modifier.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/option_modifier.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,226 @@
+[def __option_std_modifier__ Standard modifier option]
+
+[heading Header]
+[@../../../../../boost/assign/v2/option/modifier.hpp [^boost/assign/v2/option/modifier.hpp]]
+
+[heading Description]
+Options to alter the modifier of an [link boost_assign_v2.reference.interpreter interpreter].
+
+[template tpl_option_modifier[HEADER OPTION DEFAULT MODIFIER EXAMPLE]
+
+[heading Header]
+[HEADER]
+
+[heading Description]
+Modifier option.
+
+[heading Semantics]
+
+[table
+ [
+ [Option]
+ [Default]
+ [Modifier]
+ ]
+ [
+ [ [OPTION] ]
+ [ [DEFAULT] ]
+ [ [MODIFIER] ]
+ ]
+]
+
+[heading Example]
+[EXAMPLE]
+
+]
+
+[section:framework Framework]
+[#option_modifier]
+[import ../../../../boost/assign/v2/option/modifier/framework.hpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/option/modifier/framework.hpp boost/assign/v2/option/modifier/framework.hpp]
+ ..Option modifier framework
+]
+
+[heading Synopsis]
+[syntax_option_modifier]
+
+[heading Semantics]
+
+[*Requirement]
+
+Specialize, such as to model [link interpreter_modifier `interpreter_aux::ConceptModifier`],
+``
+namespace interpreter_aux{
+
+ template<typename Arg>
+ class interpreter_modifier< Result >;
+
+}
+``
+
+[*Expression]
+[#modifier_macro]
+
+[table
+ [[Expression][Description]]
+ [
+ [`BOOST_ASSIGN_V2_OPTION_MODIFIER_KEYWORD(NAME)`]
+ [Defines an empty class `interpreter_aux::keyword_NAME;` and an associated keyword `_keyword_NAME`]
+ ]
+ [
+ [`BOOST_ASSIGN_V2_OPTION_MODIFIER_META_MODIFIER_TAG(NAME, Result)`]
+ [Specializes metafunction class `interpreter_aux::meta_modifier_tag` on `interpreter_aux::keyword_NAME` to return `Result`]
+ ]
+]
+
+
+[heading Example]
+[*Example1]
+
+[@../../../../../boost/assign/v2/option/modifier/iterate.hpp [^boost/assign/v2/option/modifier/iterate.hpp]]
+
+[*Example2]
+
+[@../../../../../boost/assign/v2/option/modifier/mapped.hpp [^boost/assign/v2/option/modifier/mapped.hpp]]
+
+[*Example3]
+
+[@../../../../../boost/assign/v2/option/modifier/repeat.hpp [^boost/assign/v2/option/modifier/repeat.hpp]]
+
+[endsect][/framework]
+
+[section:iterate Iterate]
+[#option_iterate]
+[import ../test/option/iterate.cpp]
+
+[tpl_option_modifier
+ [@../../../../../boost/assign/v2/option/modifier/iterate.hpp `boost/assign/v2/option/modifier/iterate.hpp`]
+ ..`__kwd_iterate__ = __arg__`
+ ..`__arg__()` increments a counter initalized at zero
+ ..`__cont__[ __arg__() ] = __value__`
+ ..[*Example 1]
+ [test_iterate1]
+ [*Example 2]
+ [test_iterate2]
+]
+
+[endsect][/iterate]
+[section:mapped Mapped]
+[#option_mapped]
+
+[tpl_option_modifier
+ [@../../../../../boost/assign/v2/option/modifier/mapped.hpp `boost/assign/v2/option/modifier/mapped.hpp`]
+ ..`__kwd_mapped__ = __arg__`
+ .. None
+ ..`cont[ __value__ ] = __arg__( cont[ __value__ ] )`
+ ..[*Example 1]
+ [test_mapped1]
+ [*Example 2]
+ [test_mapped2]
+]
+
+[endsect][/mapped]
+[section:repeat Repeat]
+
+[import ../test/option/repeat.cpp]
+
+[tpl_option_modifier
+ [@../../../../../boost/assign/v2/option/modifier/repeat.hpp `boost/assign/v2/option/modifier/repeat.hpp`]
+ ..`__kwd_repeat__ = n`
+ ..[^n = 0]
+ ..Invokes [^n] times the modifier that prevailed before passing this option
+ ..[*Example1]
+ [test_repeat1]
+ [*Example2]
+ [test_repeat2]
+]
+
+[endsect][/repeat]
+[section:row_major Row_major]
+[#row_major]
+[import ../test/option/row_major.cpp]
+
+[tpl_option_modifier
+ [@../../../../../boost/assign/v2/option/modifier/row_major.hpp `boost/assign/v2/option/modifier/row_major.hpp`]
+ ..`__kwd_row_major__ = __arg__`
+ ..`__arg__()` increments a counter initalized at zero
+ ..Equivalent to `*( __arg__() + __cont__.data() ) = __value__`
+ ..[*Example1]
+ [test_row_major1]
+]
+
+[endsect][/repeat]
+[section:std_modifier Std_modifier]
+[#std_modifier]
+
+[heading Header]
+[@../../../../../boost/assign/v2/option/modifier/std.hpp `boost/assign/v2/option/modifier/std.hpp`]
+
+[heading Description]
+Modifier option
+
+[heading Syntax]
+``
+namespace interpreter_aux{
+
+ struct option_std_modifier;
+
+}// interpreter_aux
+
+ interpreter_aux::option_std_modifier const __kwd_std_modifier__;
+
+ #define BOOST_ASSIGN_V2_OPTION_STD_MODIFIER(Name) __unspecified__
+``
+
+[heading Option]
+
+[*Semantics]
+
+[table
+ [[Option][Default][Modifier]]
+ [[`__kwd_std_modifier__ = __arg__`][None][Semantics of `interpreter_aux::modifier<Arg>`]]
+]
+
+[*Instances]
+
+[table
+ [[Keyword][Option]]
+ [[`__kwd_insert__`][`__kwd_std_modifier__ = modifier_tag::insert()`]]
+ [[`__kwd_push__`][`__kwd_std_modifier__ = modifier_tag::push()`]]
+ [[`__kwd_push_back__`][`__kwd_std_modifier__ = modifier_tag::push_back()`]]
+ [[`__kwd_push_front__`][`__kwd_std_modifier__ = modifier_tag::push_front()`]]
+]
+
+[import ../test/option/std_modifier.cpp]
+[*Example 1]
+[test_push_front1]
+[*Example 2]
+[test_push_front2]
+
+[heading Macro]
+[*Semantics]
+``
+ BOOST_ASSIGN_V2_OPTION_STD_MODIFIER(Name)
+``
+
+* Defines `namespace modifier_tag{ struct Name{}; }`
+* Creates a keyword `_Name`, shortcut for `__kwd_std_modifier__ = modifier_tag::Name`
+* Specializes `interpreter_aux::modifier<modifier_tag::Name>` with the following semantics:
+
+[table
+ [[Option][Modifier]]
+ [[`_Name`][`__cont__.Name( __value__ )`]]
+]
+
+[*Example]
+``
+ BOOST_ASSIGN_V2_OPTION_STD_MODIFIER(push_back)
+``
+
+[endsect][/std_modifier]
+
+
+
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/org.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/org.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,64 @@
+[#org]
+
+[heading Headers]
+
+[#org_headers]
+
+This is a header only template library:
+
+* The directory containing __url_boost__ has to be in the compiler's search path
+* Using a given feature of __url_boost_assign_v2__ only requires including the corresponding header file.
+
+It is advised to include headers selectively, in general, but particularly using __url_cpp03__ which compiles more slowly
+[footnote Due to heavy overloads. As an indication, compiling all of [@../../test/ [^libs/assign/v2/test]] takes about 6 mn using __url_cpp03__,
+and 1 mn using __url_cpp0x__, under the machine specifaction given [link perf here]. ]. Headers can be looked for
+
+* by module, in directory [@../../../../../boost/assign/v2 `boost/assign/v2`]
+* by identifier, in directory [@../../../../../boost/assign/v2/include `boost/assign/v2/include`],
+[footnote Excepted [@../../../../../boost/assign/v2/include/option.hpp `boost/assign/v2/include/option.hpp`],
+which includes ['all] the options. See section [link option Option] for individual headers.]
+
+Accordingly, this statement
+[#full_include]:
+``
+ #include <boost/assign/v2.hpp>
+``
+
+includes all the modules [footnote A few headers are not included in that of their enclosing module. Where applicable,
+this will be mentioned], and is equivalent to defining all identifiers, as follows:
+``
+ #include <boost/assign/v2/include.hpp>
+``
+
+The functionality of __url_boost_assign_v1__[footnote The presence of parentheses is to mark the fact that this version
+number is retrospective : Boost.Assign and Boost.Assign (1.0) designate the same library] does not clash with that
+versioned 2.0, although it is recommended, for coherence, to use one, but not both, in a given project. The following
+statement:
+``
+ #include <boost/assign.hpp>
+``
+
+retrieves the content of version 1.0, not 2.0.
+
+[heading Namespaces]
+
+The `namespace` organization is summed up below:
+``
+namespace boost{
+namespace assign{
+
+ // Boost.Assign (1.0) identifiers
+
+namespace v2{
+
+ // Boost.Assign 2.0 identifiers
+
+namespace ref{
+
+ // Features pertaining to references
+
+}// ref
+}// assign
+}// v2
+}// boost
+``

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/perf.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/perf.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,228 @@
+[#perf]
+
+[*Machine]
+Mac OS
+
+[*Compiler]
+GNU C++ version 4.4.1
+
+[*Notation]
+
+[variablelist
+ [
+ [`T`]
+ [`std::vector<int>`]
+ ]
+ [
+ [[^n]]
+ [Number of inner loops]
+ ]
+ [
+ [[^k]]
+ [Number of outer loops]
+ ]
+ [
+ [`args...`]
+ [List of arguments, each of type T and max size 1000]
+ ]
+ [
+ [[^var]]
+ [Time to eval some method over `args...`, [^n] times]
+ ]
+ [
+ [[^var_scaled]]
+ [[^1000 * var]]
+ ]
+ [
+ [[^m]]
+ [Size of `args...`]
+ ]
+ [
+ [[^min]]
+ [Min value of [^var_scaled], over [^k] repetitions]
+ ]
+ [
+ [[^average]]
+ [Average value of [^var_scaled], over [^k] repetitions]
+ ]
+ [
+ [[^max]]
+ [Max value of [^var_scaled], over [^k] repetitions]
+ ]
+ [
+ [[^cumulated]]
+ [Cumulative value of [^var_scaled], over [^k] repetitions.]
+ ]
+]
+
+[*Methods]
+
+[table Put
+ [[Method][Description]]
+ [
+ [stl_push_back]
+ [`cont.push_back( arg1 ); ...; cont.push_back( argm )`]
+ ]
+ [
+ [v1_push_back]
+ [`push_back( cont )( arg1 )...( argm )`]
+ ]
+ [
+ [v2_put]
+ [`v2::put( cont )( arg1 )...( argm )`]
+ ]
+ [
+ [v2_csv_put]
+ [`v2::csv_put( cont, args... )`]
+ ]
+ [
+ [v2_do_put_for_each]
+ [`cont | v2::do_put.for_each( args... )`]
+ ]
+ [
+ [v2_do_csv_put]
+ [`cont | v2::do_csv_put( ref::csv_array( args... ) )`]
+ ]
+]
+
+[table Deque
+ [[Method][Description]]
+ [
+ [v1_list_of]
+ [`list_of( arg1 )...( argm )`]
+ ]
+ [
+ [v2_deque]
+ [`v2::deque<T>( arg1 )...( argm )`]
+ ]
+ [
+ [v2_csv_deque]
+ [`v2::csv_deque( args... )`]
+ ]
+]
+
+[table Ref
+ [[Method][Description]]
+ [
+ [v1_cref_list_of]
+ [`cref_list_of<m>( arg1 )...( argm )`]
+ ]
+ [
+ [v2_ref_array]
+ [`v2::ref::array( arg1 )...( argm )`]
+ ]
+ [
+ [v2_ref_csv_array]
+ [`v2::ref::csv_array( args...)`]
+ ]
+]
+
+[*Interpretation]
+
+In detail:
+
+* As [^m] increases, [^average] is also expected to increase.
+* [^k] and [^n] control the variability of [^average], which can be gauged from looking at the spread between [^min] and [^max].
+* [^cumulative] is used for checking that simulation time is not excessively spent on one method at the expense of another.
+
+[^k], [^n] and [^cumulative] are of interest only insofar as setting up the simulation, not interpreting performance.
+
+
+[*Results]
+``
+{
+{k, n, m},
+{method, min, average, max, cumulative}...
+}
+{
+{12800, 100, 1},
+{stl_push_back, 0.012, 0.014, 0.027, 177.3},
+{v1_push_back, 0.030, 0.033, 0.068, 419.3},
+{v2_put, 0.013, 0.015, 0.025, 187.9},
+{v2_csv_put, 0.013, 0.015, 0.037, 188.3},
+{v2_do_put_for_each, 0.126, 0.129, 0.192, 1650.9},
+{v2_do_csv_put, 0.099, 0.103, 0.218, 1312.2},
+{v1_list_of, 0.123, 0.127, 0.203, 1619.8},
+{v2_deque, 0.089, 0.092, 0.166, 1174.8},
+{v2_csv_deque, 0.104, 0.107, 0.254, 1367.4},
+{v1_cref_list_of, 0.000, 0.001, 0.005, 17.7},
+{v2_ref_array, 0.002, 0.004, 0.007, 47.4},
+{v2_ref_csv_array, 0.000, 0.001, 0.004, 17.7}
+}
+{
+{6400, 100, 2},
+{stl_push_back, 0.033, 0.035, 0.053, 226.2},
+{v1_push_back, 0.080, 0.083, 0.115, 531.3},
+{v2_put, 0.035, 0.037, 0.043, 234.8},
+{v2_csv_put, 0.036, 0.038, 0.050, 240.4},
+{v2_do_put_for_each, 0.234, 0.238, 0.316, 1524.1},
+{v2_do_csv_put, 0.144, 0.146, 0.168, 936.8},
+{v1_list_of, 0.188, 0.190, 0.211, 1216.5},
+{v2_deque, 0.121, 0.124, 0.139, 793.8},
+{v2_csv_deque, 0.167, 0.172, 0.216, 1097.9},
+{v1_cref_list_of, 0.000, 0.001, 0.004, 8.9},
+{v2_ref_array, 0.005, 0.006, 0.010, 38.7},
+{v2_ref_csv_array, 0.001, 0.002, 0.005, 12.1}
+}
+{
+{3200, 100, 4},
+{stl_push_back, 0.093, 0.097, 0.119, 311.1},
+{v1_push_back, 0.252, 0.257, 0.287, 823.4},
+{v2_put, 0.100, 0.108, 0.209, 346.3},
+{v2_csv_put, 0.103, 0.109, 0.120, 347.8},
+{v2_do_put_for_each, 0.476, 0.484, 0.519, 1547.7},
+{v2_do_csv_put, 0.219, 0.223, 0.242, 714.0},
+{v1_list_of, 0.347, 0.354, 0.377, 1132.6},
+{v2_deque, 0.193, 0.198, 0.212, 633.3},
+{v2_csv_deque, 0.328, 0.334, 0.362, 1067.2},
+{v1_cref_list_of, 0.000, 0.001, 0.005, 4.5},
+{v2_ref_array, 0.012, 0.013, 0.017, 41.5},
+{v2_ref_csv_array, 0.001, 0.002, 0.006, 7.3}
+}
+{
+{1600, 100, 8},
+{stl_push_back, 0.278, 0.284, 0.315, 453.8},
+{v1_push_back, 0.526, 0.535, 0.560, 856.1},
+{v2_put, 0.298, 0.302, 0.330, 483.2},
+{v2_csv_put, 0.299, 0.304, 0.323, 486.9},
+{v2_do_put_for_each, 1.020, 1.030, 1.086, 1647.4},
+{v2_do_csv_put, 0.412, 0.418, 0.443, 668.6},
+{v1_list_of, 0.615, 0.622, 0.647, 994.9},
+{v2_deque, 0.369, 0.375, 0.398, 600.4},
+{v2_csv_deque, 0.700, 0.706, 0.750, 1129.8},
+{v1_cref_list_of, 0.000, 0.001, 0.002, 2.2},
+{v2_ref_array, 0.036, 0.037, 0.049, 59.7},
+{v2_ref_csv_array, 0.002, 0.003, 0.006, 5.2}
+}
+{
+{800, 100, 16},
+{stl_push_back, 0.659, 0.667, 0.723, 533.5},
+{v1_push_back, 1.150, 1.159, 1.225, 927.1},
+{v2_put, 0.673, 0.678, 0.752, 542.3},
+{v2_csv_put, 0.672, 0.679, 0.727, 542.9},
+{v2_do_put_for_each, 2.168, 2.180, 2.277, 1743.7},
+{v2_do_csv_put, 0.819, 0.826, 0.866, 661.2},
+{v1_list_of, 1.273, 1.284, 1.343, 1026.9},
+{v2_deque, 0.772, 0.782, 0.867, 625.8},
+{v2_csv_deque, 1.450, 1.469, 1.635, 1174.8},
+{v1_cref_list_of, 0.000, 0.001, 0.002, 1.1},
+{v2_ref_array, 0.113, 0.114, 0.136, 91.6},
+{v2_ref_csv_array, 0.004, 0.005, 0.009, 4.2}
+}
+{
+{400, 100, 32},
+{stl_push_back, 1.274, 1.286, 1.381, 514.3},
+{v1_push_back, 2.308, 2.328, 2.606, 931.1},
+{v2_put, 1.294, 1.309, 1.486, 523.7},
+{v2_csv_put, 1.285, 1.296, 1.454, 518.6},
+{v2_do_put_for_each, 3.985, 4.022, 4.267, 1608.8},
+{v2_do_csv_put, 1.466, 1.488, 1.711, 595.0},
+{v1_list_of, 2.394, 2.424, 2.649, 969.4},
+{v2_deque, 1.369, 1.379, 1.457, 551.8},
+{v2_csv_deque, 2.636, 2.652, 2.772, 1060.6},
+{v1_cref_list_of, 0.004, 0.005, 0.008, 2.1},
+{v2_ref_array, 0.493, 0.498, 0.536, 199.1},
+{v2_ref_csv_array, 0.025, 0.026, 0.029, 10.4}
+}
+``
+[c++]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/pipe.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/pipe.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,35 @@
+[import ../test/pipe/option/data.cpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/pipe.hpp `boost/assign/v2/pipe.hpp`]
+ ..Pipe version of a functor
+]
+
+[section:csv_put Csv_put]
+[import ../../../../boost/assign/v2/pipe/csv_put.hpp]
+[import ../test/pipe/csv_put.cpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/pipe/csv_put.hpp `boost/assign/v2/pipe/csv_put.hpp`]
+
+[heading Description]
+Pipe & csv form of [link boost_assign_v2.reference.put `__fun_put__`]
+
+[heading Synopsis]
+[syntax_pipe_csv_put]
+
+[heading Semantics]
+
+[table
+ [[Expression][Description]]
+ [[`__cont__| ( __kwd_csv_put__ __invoke_options__ )( __values__... )`][`( __fun_put__( __cont__ ) __invoke_options__ )( __value__1 ) __ellipsis__ ( __value_n__ )`]]
+]
+
+[heading Examples]
+[*Example1]
+[test_pipe_csv_put_str_literal]
+[*Example2]
+[test_pipe_option_data_math]
+
+[endsect][/csv_put]
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/port.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/port.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,102 @@
+
+[def __ubuntu__ [@http://releases.ubuntu.com/lucid/ Ubuntu 10.04]]
+[def __osx__ [@http://support.apple.com/kb/HT4250 Mac OS X 10.6.5]]
+[def __ms__ [@http://www.microsoft.com/windowsxp/pro/default.mspx Windows XP ]]
+[def __msvc__ [@http://www.microsoft.com/express/Downloads/#2010-Visual-CPP MSVC 10.0]]
+[def __icc__ [@http://software.intel.com/en-us/articles/intel-compilers/ Intel (R) C++ Compiler XE 12.0]]
+[def __llvm__ [@http://llvm.org/releases/1.7/docs/ReleaseNotes.html LLVM compiler 1.7]]
+[def __llvm_42 [@http://developer.apple.com/library/ios/#releasenotes/DeveloperTools/RN-llvm-gcc/ LLVM GCC 4.2]]
+
+[def __na__ Not available]
+[def __ok__ passed]
+[def __osx_boost_rev__ [^v1.45]]
+[def __ms_boost_rev__ [^v1.46]]
+[def __ubu_boost_rev__ [^v1.45]]
+[def __osx_as2_rev__ [^r72520]]
+[def __ms_as2_rev__ [^r71798]]
+[def __ubu_as2_rev__ [^r75520]]
+
+Click [tpl_test here] to view the test suite.
+
+[/
+
+OSX
+ sudo bjam darwin-4.0 variant=debug,release -a
+ sudo bjam darwin-4.2 variant=debug,release -a
+Unix
+ sudo bjam darwin-4.4 variant=debug,release -a
+ sudo bjam darwin-4.4 variant=debug,release cxxflags=-std=c++0x -a
+Ubuntu
+ sudo bjam gcc variant=debug,release -a
+ sudo bjam gcc variant=debug,release cxxflags=-std=c++0x -a
+ sudo bjam intel variant=debug,release -a
+MSVC
+ bjam toolset=msvc-10.0 variant=debug,release cflags=-D_SCL_SECURE_NO_WARNINGS
+
+]
+
+[table
+ [
+ [ OS]
+ [ Compiler ]
+ [ Option(s) ]
+ [__boost__]
+ [ Stable revision ]
+ ]
+ [
+ [ __osx__]
+ [ gcc-4.0 ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ __osx__]
+ [ gcc-4.2 ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ Unix (__url_fink__ ) ]
+ [ gcc-4.4 ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ Unix (__url_fink__ ) ]
+ [ gcc-4.4 ]
+ [ __cpp0x__ ]
+ [ __osx_boost_rev__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ __ubuntu__ ]
+ [ gcc-4.4 ]
+ [ ]
+ [ __ubu_boost_rev__ ]
+ [ __ubu_as2_rev__ ]
+ ]
+ [
+ [ __ubuntu__ ]
+ [ gcc-4.4 ]
+ [ __cpp0x__ ]
+ [ __ubu_boost_rev__ ]
+ [ __ubu_as2_rev__ ]
+ ]
+ [
+ [ __ubuntu__ ]
+ [ __icc__ ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __ubu_as2_rev__ ]
+ ]
+ [
+ [ __ms__ ]
+ [ __msvc__ ]
+ [ ]
+ [ __ms_boost_rev__][/footnote cflags=-D_SCL_SECURE_NO_WARNINGS]
+ [ __ms_as2_rev__ ]
+ ]
+]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/put.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/put.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,226 @@
+[import ../test/put/csv_put_basic.cpp]
+[import ../test/put/csv_put_ext.cpp]
+[import ../test/put/do_csv_put.cpp]
+[import ../test/put/do_put.cpp]
+[import ../test/put/put.cpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put.hpp [^boost/assign/v2/put.hpp]]
+
+[heading Description]
+Assigning or inserting elments of a container
+
+[section:csv_put Csv_put]
+
+[#csv_put]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/csv_put.hpp [^boost/assign/v2/put/csv_put.hpp]]
+
+[heading Description]
+__csv_form__
+
+[section:csv_put_basic Csv_put_basic]
+[#csv_put_basic]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/csv_put/csv_put_basic.hpp [^boost/assign/v2/put/csv_put/csv_put_basic.hpp]]
+
+[heading Description]
+__csv_form_basic__
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/csv_put/csv_put_basic.hpp]
+[syntax_csv_put_basic]
+
+[heading Semantics]
+
+[table
+ [
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__fun_csv_put__( __cont__, __args__)`]
+ [`__fun_put__( __cont__ )( __arg__1 ) ...( __argn__ )`]
+ ]
+]
+
+[heading Example]
+
+[#ex_csv_put_basic]
+
+[*Example1]
+[test_csv_put_basic1]
+
+[*Example2]
+[test_csv_put_basic2]
+
+[*Example3]
+[test_csv_put_basic3]
+
+[*Example4]
+[test_csv_put_basic4]
+
+[*Example5]
+[test_csv_put_basic5]
+
+[*Example6]
+[test_csv_put_basic6]
+
+[*Example7]
+[test_csv_put_basic7]
+
+[endsect][/csv_put_basic]
+[section:csv_put_ext Csv_put_ext]
+[#csv_put_ext]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/csv_put/csv_put_ext.hpp [^boost/assign/v2/put/csv_put/csv_put_ext.hpp]]
+
+[heading Description]
+__csv_form_ext__
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/csv_put/csv_put_ext.hpp]
+[syntax_csv_put_ext]
+
+[heading Semantics]
+
+[table
+ [
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__fun_csv_put__<I>( __cont__, args0, ..., arg( I-1 ), ..., args(n-1)I, ..., arg( nI - 1 ) )`]
+ [`__fun_put__( __cont__ )( args0, ..., arg( I-1 ) ) ... ( args(n-1)I, ..., arg( nI - 1 ) )`]
+ ]
+]
+
+[heading Example]
+
+[#ex_csv_put_ext]
+
+[*Example1]
+[test_csv_put_ext1]
+
+[*Example2]
+[test_csv_put_ext2]
+
+[*Example3]
+[test_csv_put_ext3]
+
+[*Example4]
+[test_csv_put_ext4]
+
+[endsect][/ csv_put_ext]
+[endsect][/ csv_put]
+[section:do_csv_put Do_csv_put]
+[#do_csv_put]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/do_csv_put.hpp [^boost/assign/v2/put/do_csv_put.hpp]]
+
+[heading Description]
+Piping version of [link csv_put `__fun_csv_put__`]
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/do_csv_put.hpp]
+[syntax_do_csv_put]
+
+[heading Semantics]
+
+[table
+ [
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__cont__ | do_csv_put<I>( args0, ..., arg( I-1 ), ..., args(n-1)I, ..., arg( nI - 1 ) )`]
+ [`__fun_csv_put__<I>( __cont__, args0, ..., arg( I-1 ), ..., args(n-1)I, ..., arg( nI - 1 ) ); return __cont__;`]
+ ]
+]
+
+
+[heading Example]
+
+[#ex_do_csv_put]
+
+[*Example1]
+[test_do_csv_put1]
+
+[endsect][/do_csv_put]
+[section:do_put Do_put]
+[#do_put]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/do_put.hpp [^boost/assign/v2/put/do_put.hpp]]
+
+[heading Description]
+Piping version of [link csv_put `__fun_put__`]. Only overloads of `for_each`, for now, are implemented.
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/do_put.hpp]
+[syntax_do_put]
+
+[heading Semantics]
+
+
+[table
+ [
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__cont__ | _do_put.for_each<I>( __range__ )`]
+ [`__fun_put__.for_each<I>( __cont__, __range__ ); return __cont__`]
+ ]
+ [
+ [`__cont__ | _do_put.for_each( __range__ )`]
+ [`__fun_put__.for_each( __cont__, __range__ ); return __cont__`]
+ ]
+]
+
+
+[heading Example]
+
+[#ex_do_put]
+
+[*Example1]
+[test_do_put1]
+
+[endsect][/do_put]
+[section:put Put]
+[#put]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/put.hpp [^boost/assign/v2/put/put.hpp]]
+
+[heading Description]
+__functor_form__
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/put.hpp]
+[syntax_put]
+
+[heading Semantics]
+
+See [link interpreter_crtp `interpreter_crtp<>`] from which it inherits.
+
+[heading Example]
+
+[#ex_put]
+[*Example1]
+[test_put1]
+
+[*Example2]
+[test_put2]
+
+[*Example3]
+[test_put3]
+
+[*Example4]
+[test_put4]
+
+[endsect][/put]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/ref.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/ref.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,168 @@
+[def __warn_tmp__ [@http://www.kuzbass.ru:8086/docs/isocpp/special.html#class.temporary Temporaries] destroyed past semicolon.]
+
+[section:array Array]
+
+[import ../test/ref/csv_array.cpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/ref/array.hpp `boost/assign/v2/ref/array.hpp`]
+ ..Reference array generation
+]
+
+[template tpl_ref_array [HEADER DESCRIPTION GENERATION EXAMPLE]
+
+[heading Header]
+HEADER
+
+[heading Description]
+[DESCRIPTION]
+
+[heading Array]
+Inherits [link array_interface `array_aux::interface<>`].
+
+[heading Generation]
+[GENERATION]
+
+[heading Example]
+[EXAMPLE]
+
+]
+
+[section:array Array]
+[#ref_array]
+
+[import ../../../../boost/assign/v2/ref/array/array.hpp]
+[import ../test/ref/array.cpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/ref/array/array.hpp [^boost/assign/v2/ref/array/array.hpp]]
+
+[heading Description]
+__functor_form__
+
+[heading Synopsis]
+[syntax_ref_array_array]
+[warning __warn_tmp__]
+[tip The [link ref_csv_array csv-form] is faster. See the [link perf performance] table.]
+
+[heading Example]
+
+[*Example 1]
+[test_ref_array1]
+
+[*Example 2]
+[test_ref_array2]
+
+[*Example 3]
+[test_ref_array3]
+
+[*Example 4]
+[test_ref_array4]
+
+[endsect][/array]
+[section:conversion Conversion]
+
+[heading Header]
+[@../../../../../boost/assign/v2/ref/array/conversion.hpp `boost/assign/v2/ref/array/conversion.hpp`]
+
+[heading Description]
+ADL version of [link converter __fun_converter__]
+
+[heading Example]
+[*Example 1]
+[test_ref_csv_array_converter]
+
+[endsect][/conversion]
+[section:csv_array Csv_array]
+[#ref_csv_array]
+
+[import ../../../../boost/assign/v2/ref/array/csv_array.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/ref/array/csv_array.hpp `boost/assign/v2/ref/array/csv_array.hpp`]
+
+[heading Description]
+__csv_form__
+
+[heading Synopsis]
+[syntax_ref_array_array]
+[warning __warn_tmp__]
+
+[heading Example]
+[*Example 1]
+[test_ref_csv_array1]
+[*Example 2]
+[test_ref_csv_array2]
+[*Example 3]
+[test_ref_csv_array3]
+
+[endsect][/csv_array]
+[section:get Get]
+[#ref_get]
+
+[import ../../../../boost/assign/v2/ref/array/get.hpp]
+[import ../test/ref/get.cpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/ref/array/get.hpp `boost/assign/v2/ref/array/get.hpp`]
+
+[heading Description]
+A [tpl_range_adaptor range adaptor] that converts each element of a reference-array (a [link ref_wrapper reference wrapper]) to the
+reference it holds (by invoking member function `get()`).
+
+[heading Synopsis]
+[syntax_ref_array_get]
+
+[heading Example]
+[test_ref_get]
+
+[endsect][/get]
+[section:interface Interface]
+[#array_interface]
+
+[import ../../../../boost/assign/v2/ref/array/interface.hpp]
+
+[tpl_feature
+ [@../../../../../boost/assign/v2/ref/array/interface.hpp `boost/assign/v2/ref/array/interface.hpp`]
+ ..Interface for a reference array
+ ..[syntax_ref_array_interface]
+ ..None
+]
+
+[endsect][/interface]
+[endsect][/array]
+[section:wrapper Wrapper]
+
+[#ref_wrapper]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/ref/wrapper.hpp `boost/assign/v2/ref/wrapper.hpp`]
+ ..Default constructible reference wrapper module
+]
+
+[section:copy Copy]
+
+[import ../test/ref/wrapper.cpp]
+[import ../../../../boost/assign/v2/ref/wrapper/copy.hpp]
+
+[tpl_feature
+ [@../../../../../boost/assign/v2/ref/wrapper/copy.hpp `boost/assign/v2/ref/wrapper/copy.hpp`]
+ ..Reference wrapper with copy semantics
+ ..[syntax_ref_wrapper_copy]
+ ..[test_ref_wrapper]
+]
+
+[endsect][/copy]
+[section:crtp Crtp]
+
+[import ../../../../boost/assign/v2/ref/wrapper/crtp.hpp]
+
+[tpl_feature
+ [@../../../../../boost/assign/v2/ref/wrapper/crtp.hpp `boost/assign/v2/ref/wrapper/crtp.hpp`]
+ ..CRTP reference wrapper.
+ ..[syntax_ref_wrapper_crtp]
+ ..None
+]
+
+[endsect][/crtp]
+[endsect][/wrapper]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/boost.xml
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/src/boost.xml 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,757 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE boostbook PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+ "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<boostbook id="boost" xmlns:xi="http://www.w3.org/2001/XInclude"
+ last-revision="$Date: 2010-10-30 10:29:27 -0400 (Sat, 30 Oct 2010) $">
+ <title>The Boost C++ Libraries BoostBook Documentation Subset</title>
+
+ <preface id="about">
+ <title>What's Included in This Document</title>
+
+ <para>This document represents only a subset of the full Boost
+ documentation: that part which is generated from BoostBook or
+ QuickBook sources. Eventually all Boost libraries may use these
+ formats, but in the meantime, much of Boost's documentation is not
+ available here. Please
+ see <ulink
+ url="http://www.boost.org/libs">http://www.boost.org/libs>
+ for complete documentation.
+ </para>
+
+ <para>
+ Documentation for some of the libraries described in this document is
+ available in alternative formats:
+ <itemizedlist>
+ <listitem>
+ <simpara><link linkend="boost">HTML</link></simpara>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <simpara><ulink url="
http://sourceforge.net/projects/boost/files/boost-docs/">PDF</ulink></simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ </preface>
+
+ <part id="libraries">
+ <title>The Boost C++ Libraries (BoostBook Subset)</title>
+
+ <xi:include href="accumulators.xml"/>
+
+ <xi:include href="../../libs/any/doc/any.xml"/>
+ <xi:include href="../../libs/array/doc/array.xml"/>
+
+ <library name="Asio" dirname="asio" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Christopher</firstname>
+ <surname>Kohlhoff</surname>
+ </author>
+
+ <librarypurpose>Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs</librarypurpose>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Bind" dirname="bind" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Dimov</surname>
+ </author>
+ <librarypurpose>Generalized binders for function/object/pointers and member functions</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Mem_fn" dirname="bind" html-only="1"
+ url="../../libs/bind/mem_fn.html">
+ <libraryinfo>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Dimov</surname>
+ </author>
+ <librarypurpose>Generalized binders for member functions</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Call Traits" dirname="call_traits" html-only="1"
+ url="../../libs/utility/call_traits.htm">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <author>
+ <firstname>Howard</firstname>
+ <surname>Hinnant</surname>
+ </author>
+ <librarypurpose>Defines types for passing parameters</librarypurpose>
+ <librarycategory name="category:generic"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Circular Buffer" dirname="circular_buffer" html-only="1"
+ url="../../libs/circular_buffer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Jan</firstname>
+ <surname>Gaspar</surname>
+ </author>
+ <librarypurpose>A STL compliant container also known as ring or cyclic buffer</librarypurpose>
+ <librarycategory name="category:containers"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Compatibility" dirname="compatibility" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Ralf</firstname>
+ <surname>Grosse-Kunstleve</surname>
+ </author>
+ <author>
+ <firstname>Jens</firstname>
+ <surname>Maurer</surname>
+ </author>
+ <librarypurpose>Help for non-conforming standard libraries</librarypurpose>
+ <librarycategory name="category:broken"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Compose" dirname="compose" html-only="1"
+ url="../../libs/compose/index.htm">
+ <libraryinfo>
+ <author>
+ <firstname>Nicolai</firstname>
+ <surname>Josuttis</surname>
+ </author>
+
+ <librarypurpose>Functional composition adapters for the STL</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Compressed Pair" dirname="compressed_pair" html-only="1"
+ url="../../libs/utility/compressed_pair.htm">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <author>
+ <firstname>Howard</firstname>
+ <surname>Hinnant</surname>
+ </author>
+ <librarypurpose>Empty member optimization</librarypurpose>
+ <librarycategory name="category:data-structures"/>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Concept Check" dirname="concept_check">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <librarypurpose>Tools for generic programming</librarypurpose>
+ <librarycategory name="category:generic"/>
+ <librarycategory name="category:testing"/>
+ </libraryinfo>
+ <title>Boost.Concept_Check</title>
+ <xi:include href="../../libs/concept_check/doc/reference/concepts.xml"/>
+ </library>
+
+ <library name="Config" dirname="config" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+ <author>
+ <firstname>Vesa</firstname>
+ <surname>Karvonen</surname>
+ </author>
+
+ <librarypurpose>Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users</librarypurpose>
+ <librarycategory name="category:broken"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Conversion" dirname="conversion" html-only="1"
+ url="../../libs/conversion/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>Kevlin</firstname>
+ <surname>Henney</surname>
+ </author>
+
+ <librarypurpose>Numeric, polymorphic, and lexical casts</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <library name="CRC" dirname="crc" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Daryle</firstname>
+ <surname>Walker</surname>
+ </author>
+
+ <librarypurpose>Cyclic Redundancy Code</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/date_time/xmldoc/date_time.xml"/>
+
+ <library name="Dynamic Bitset" dirname="dynamic_bitset" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <author>
+ <firstname>Chuck</firstname>
+ <surname>Allison</surname>
+ </author>
+ <librarypurpose>A runtime sized version of <code>std::bitset</code></librarypurpose>
+ <librarycategory name="category:containers"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Format" dirname="format" html-only="1"
+ url="../../libs/format/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Samuel</firstname>
+ <surname>Krempp</surname>
+ </author>
+
+ <librarypurpose>Type-safe 'printf-like' format operations</librarypurpose>
+ <librarycategory name="category:string-text"/>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Filesystem" dirname="filesystem" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+
+ <librarypurpose>Portable paths, iteration over directories, and other useful filesystem operations</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="foreach.xml"/>
+
+ <xi:include href="../../libs/function/doc/function.xml"/>
+
+ <library name="Functional" dirname="functional" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Mark</firstname>
+ <surname>Rodgers</surname>
+ </author>
+ <librarypurpose>Enhanced function object adaptors</librarypurpose>
+ <librarycategory name="category:higher-order"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="hash.xml"/>
+
+ <library name="Graph" dirname="graph" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <author>
+ <firstname>University of Notre Dame</firstname>
+ <surname>Team</surname>
+ </author>
+ <librarypurpose>Generic graph components and algorithms</librarypurpose>
+ <librarycategory name="category:containers"/>
+ <librarycategory name="category:iterators"/>
+ <librarycategory name="category:algorithms"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Integer" dirname="integer" html-only="1"
+ url="../../libs/integer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>various</firstname>
+ <surname>authors</surname>
+ </author>
+
+ <librarypurpose>Headers to ease dealing with integral types</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="interprocess.xml"/>
+
+ <library name="Interval" dirname="numeric/interval" html-only="1"
+ url="../../libs/numeric/interval/doc/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Guillaume</firstname>
+ <surname>Melquiond</surname>
+ </author>
+ <author>
+ <firstname>Herv&eacute;</firstname>
+ <surname>Br&ouml;nnimann</surname>
+ </author>
+ <author>
+ <firstname>Sylvain</firstname>
+ <surname>Pion</surname>
+ </author>
+
+ <librarypurpose>Extends the usual arithmetic functions to mathematical intervals</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="intrusive.xml"/>
+
+ <library name="I/O State Savers" dirname="io" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Daryle</firstname>
+ <surname>Walker</surname>
+ </author>
+
+ <librarypurpose>Save I/O state to prevent jumbled data</librarypurpose>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Iterator Adaptors" dirname="utility" html-only="1"
+ url="../../libs/utility/iterator_adaptors.htm">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <author>
+ <firstname>John</firstname>
+ <surname>Potter</surname>
+ </author>
+
+ <librarypurpose>Adapt a base type into a standard conforming iterator</librarypurpose>
+ <librarycategory name="category:iterators"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/lambda/doc/lambda.xml"/>
+
+ <library name="Math" dirname="math" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>various</firstname>
+ <surname>authors</surname>
+ </author>
+
+ <librarypurpose>Several contributions in the domain of mathematics</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Common Factor" dirname="math/common_factor" html-only="1"
+ url="../../libs/math/doc/common_factor.html">
+ <libraryinfo>
+ <author>
+ <firstname>Daryle</firstname>
+ <surname>Walker</surname>
+ </author>
+
+ <librarypurpose>Greatest common divisor and least common multiple</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Octonion" dirname="math/octonion" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Hubert</firstname>
+ <surname>Holin</surname>
+ </author>
+
+ <librarypurpose>Octonions</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Quaternion" dirname="math/quaternion" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Hubert</firstname>
+ <surname>Holin</surname>
+ </author>
+
+ <librarypurpose>Quaternions</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Math/Special Functions" dirname="math/special_functions" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Hubert</firstname>
+ <surname>Holin</surname>
+ </author>
+
+ <librarypurpose>Mathematical special functions such as atanh, sinc, and sinhc</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="MPL" dirname="mpl" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Aleksey</firstname>
+ <surname>Gurtovoy</surname>
+ </author>
+
+ <librarypurpose>Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes</librarypurpose>
+ <librarycategory name="category:template"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Multi Array" dirname="multi_array" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Ron</firstname>
+ <surname>Garcia</surname>
+ </author>
+
+ <librarypurpose>Multidimensional containers and adaptors for arrays of contiguous data</librarypurpose>
+ <librarycategory name="category:math"/>
+ <librarycategory name="category:containers"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Operators" dirname="utility" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+
+ <librarypurpose>Templates ease arithmetic classes and iterators</librarypurpose>
+ <librarycategory name="category:generic"/>
+ <librarycategory name="category:iterators"/>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Optional" dirname="optional" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Fernando</firstname>
+ <surname>Cacciola</surname>
+ </author>
+
+ <librarypurpose>Discriminated-union wrapper for optional values</librarypurpose>
+ <librarycategory name="category:misc"/>
+ <librarycategory name="category:data-structures"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="mpi.xml"/>
+
+ <library name="Pool" dirname="pool" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Steve</firstname>
+ <surname>Cleary</surname>
+ </author>
+
+ <librarypurpose>Memory pool management</librarypurpose>
+ <librarycategory name="category:memory"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Preprocessor" dirname="preprocessor" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Vesa</firstname>
+ <surname>Karvonen</surname>
+ </author>
+ <author>
+ <firstname>Paul</firstname>
+ <surname>Mensonides</surname>
+ </author>
+
+ <librarypurpose>Preprocessor metaprogramming tools including repetition and recursion</librarypurpose>
+ <librarycategory name="category:preprocessor"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/program_options/doc/program_options.xml"/>
+
+ <library name="Property Map" dirname="property_map" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jeremy</firstname>
+ <surname>Siek</surname>
+ </author>
+ <librarypurpose>Concepts defining interfaces which map key objects to value objects</librarypurpose>
+ <librarycategory name="category:containers"/>
+ <librarycategory name="category:generic"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="property_tree.xml"/>
+
+ <xi:include href="proto.xml"/>
+
+ <library name="Python" dirname="python" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <librarypurpose>Reflects C++ classes and functions into <ulink url="http://www.python.org">Python</ulink></librarypurpose>
+ <librarycategory name="category:lang"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="random.xml"/>
+
+ <library name="Rational" dirname="rational" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Paul</firstname>
+ <surname>Moore</surname>
+ </author>
+ <librarypurpose>A rational number class</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/bind/doc/ref.xml"/>
+
+ <library name="Regex" dirname="regex" html-only="1"
+ url="../../libs/regex/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <librarypurpose>Regular expression library</librarypurpose>
+ <librarycategory name="category:string-text"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Serialization" dirname="serialization" html-only="1"
+ url="../../libs/serialization/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Robert</firstname>
+ <surname>Ramey</surname>
+ </author>
+ <librarypurpose>Serialization of C++ objects for persistence and marshalling</librarypurpose>
+ <librarycategory name="category:io"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="../../libs/signals/doc/signals.xml"/>
+
+ <xi:include href="../../libs/signals2/doc/signals.xml"/>
+
+ <library name="Smart Pointer" dirname="smart_ptr" html-only="1"
+ url="../../libs/smart_ptr/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Greg</firstname>
+ <surname>Colvin</surname>
+ </author>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Dimov</surname>
+ </author>
+ <author>
+ <firstname>Darin</firstname>
+ <surname>Adler</surname>
+ </author>
+ <librarypurpose>Six smart pointer class templates</librarypurpose>
+ <librarycategory name="category:memory"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Spirit" dirname="spirit" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Joel</firstname>
+ <surname>de Guzman</surname>
+ </author>
+ <author>
+ <firstname>team</firstname>
+ </author>
+
+ <librarypurpose>LL parser framework represents parsers directly as EBNF grammars in inlined C++</librarypurpose>
+ <librarycategory name="category:text"/>
+ <librarycategory name="category:parsing"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="static_assert.xml"/>
+
+ <xi:include href="../../libs/algorithm/string/doc/string_algo.xml"/>
+
+ <library name="Test" dirname="test" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Gennadiy</firstname>
+ <surname>Rozental</surname>
+ </author>
+ <librarypurpose>Support for simple program testing, full unit testing, and for program execution monitoring</librarypurpose>
+ <librarycategory name="category:testing"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="thread.xml"/>
+
+ <library name="Timer" dirname="timer" html-only="1"
+ url="../../libs/timer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>Beman</firstname>
+ <surname>Dawes</surname>
+ </author>
+ <librarypurpose>Event timer, progress timer, and progress display classes</librarypurpose>
+ <librarycategory name="category:misc"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Tokenizer" dirname="tokenizer" html-only="1"
+ url="../../libs/tokenizer/index.html">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Bandela</surname>
+ </author>
+ <librarypurpose>Break of a string or other character sequence into a series of tokens</librarypurpose>
+ <librarycategory name="category:string-text"/>
+ <librarycategory name="category:iterators"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="tr1.xml"/>
+ <xi:include href="../../libs/logic/doc/tribool.boostbook"/>
+
+ <library name="Tuple" dirname="tuple" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Jaakko</firstname>
+ <surname>J&auml;rvi</surname>
+ </author>
+ <librarypurpose>Ease definition of functions returning multiple values, and more</librarypurpose>
+ <librarycategory name="category:data-structures"/>
+ </libraryinfo>
+ </library>
+
+ <library name="Type Traits" dirname="type_traits" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>John</firstname>
+ <surname>Maddock</surname>
+ </author>
+ <librarypurpose>Meta-programming support library.</librarypurpose>
+ <librarycategory name="category:generic"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="typeof.xml"/>
+
+ <library name="uBLAS" dirname="numeric/ublas" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Joerg</firstname>
+ <surname>Walter</surname>
+ </author>
+ <author>
+ <firstname>Mathias</firstname>
+ <surname>Koch</surname>
+ </author>
+ <librarypurpose>Basic linear algebra for dense, packed and sparse matrices</librarypurpose>
+ <librarycategory name="category:math"/>
+ </libraryinfo>
+ </library>
+
+ <xi:include href="units.xml"/>
+
+ <xi:include href="unordered.xml"/>
+
+ <library name="Utility" dirname="utility" html-only="1">
+ <libraryinfo>
+ <author>
+ <firstname>Dave</firstname>
+ <surname>Abrahams</surname>
+ </author>
+ <author>
+ <firstname>others</firstname>
+ </author>
+
+ <librarypurpose>Class noncopyable plus <functionname>checked_delete</functionname>, <functionname>checked_array_delete</functionname>, <functionname>next</functionname>, <functionname>prior</functionname> function templates, plus base-from-member idiom</librarypurpose>
+ <librarycategory name="category:misc"/>
+ <librarycategory name="category:memory"/>
+ <librarycategory name="category:algorithms"/>
+ </libraryinfo>
+ </library>
+ <xi:include href="../../libs/variant/doc/variant.xml"/>
+
+ <xi:include href="xpressive.xml"/>
+
+ </part>
+
+ <part id="tools">
+ <title>Boost Tools</title>
+ <partintro>
+ <para>
+ Boost developers, testers, and maintainers have developed various programs to
+ help with the administration of the Boost Libraries. Like everything else about
+ Boost, these tools are available in source form, and are part of the regular
+ Boost distribution.
+ </para>
+ <para>
+ Users may find these tools useful when porting Boost libraries to a new platform,
+ or for use with their own applications.
+ </para>
+ </partintro>
+ <xi:include href="../../tools/boostbook/doc/boostbook.xml"/>
+ <xi:include href="quickbook.xml"/>
+ <xi:include href="jam_docs.xml"/>
+ <xi:include href="../../tools/build/v2/doc/src/userman.xml"/>
+ </part>
+</boostbook>
+
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/boostbook.css
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/src/boostbook.css 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,601 @@
+/*=============================================================================
+ Copyright (c) 2004 Joel de Guzman
+ http://spirit.sourceforge.net/
+
+ Distributed under the Boost Software License, Version 1.0. (See accompany-
+ ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/*=============================================================================
+ Body defaults
+=============================================================================*/
+
+ body
+ {
+ margin: 1em;
+ font-family: sans-serif;
+ }
+
+/*=============================================================================
+ Paragraphs
+=============================================================================*/
+
+ p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+/*=============================================================================
+ Program listings
+=============================================================================*/
+
+ /* Code on paragraphs */
+ p tt.computeroutput
+ {
+ font-size: 9pt;
+ }
+
+ pre.synopsis
+ {
+ font-size: 9pt;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 9pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ /* Program listings in tables don't get borders */
+ td .programlisting,
+ td .screen
+ {
+ margin: 0pc 0pc 0pc 0pc;
+ padding: 0pc 0pc 0pc 0pc;
+ }
+
+/*=============================================================================
+ Headings
+=============================================================================*/
+
+ h1, h2, h3, h4, h5, h6
+ {
+ text-align: left;
+ margin: 1em 0em 0.5em 0em;
+ font-weight: bold;
+ }
+
+ h1 { font: 140% }
+ h2 { font: bold 140% }
+ h3 { font: bold 130% }
+ h4 { font: bold 120% }
+ h5 { font: italic 110% }
+ h6 { font: italic 100% }
+
+ /* Top page titles */
+ title,
+ h1.title,
+ h2.title
+ h3.title,
+ h4.title,
+ h5.title,
+ h6.title,
+ .refentrytitle
+ {
+ font-weight: bold;
+ margin-bottom: 1pc;
+ }
+
+ h1.title { font-size: 140% }
+ h2.title { font-size: 140% }
+ h3.title { font-size: 130% }
+ h4.title { font-size: 120% }
+ h5.title { font-size: 110% }
+ h6.title { font-size: 100% }
+
+ .section h1
+ {
+ margin: 0em 0em 0.5em 0em;
+ font-size: 140%;
+ }
+
+ .section h2 { font-size: 140% }
+ .section h3 { font-size: 130% }
+ .section h4 { font-size: 120% }
+ .section h5 { font-size: 110% }
+ .section h6 { font-size: 100% }
+
+ /* Code on titles */
+ h1 tt.computeroutput { font-size: 140% }
+ h2 tt.computeroutput { font-size: 140% }
+ h3 tt.computeroutput { font-size: 130% }
+ h4 tt.computeroutput { font-size: 130% }
+ h5 tt.computeroutput { font-size: 130% }
+ h6 tt.computeroutput { font-size: 130% }
+
+
+/*=============================================================================
+ Author
+=============================================================================*/
+
+ h3.author
+ {
+ font-size: 100%
+ }
+
+/*=============================================================================
+ Lists
+=============================================================================*/
+
+ li
+ {
+ font-size: 10pt;
+ line-height: 1.3;
+ }
+
+ /* Unordered lists */
+ ul
+ {
+ text-align: left;
+ }
+
+ /* Ordered lists */
+ ol
+ {
+ text-align: left;
+ }
+
+/*=============================================================================
+ Links
+=============================================================================*/
+
+ a
+ {
+ text-decoration: none; /* no underline */
+ }
+
+ a:hover
+ {
+ text-decoration: underline;
+ }
+
+/*=============================================================================
+ Spirit style navigation
+=============================================================================*/
+
+ .spirit-nav
+ {
+ text-align: right;
+ }
+
+ .spirit-nav a
+ {
+ color: white;
+ padding-left: 0.5em;
+ }
+
+ .spirit-nav img
+ {
+ border-width: 0px;
+ }
+
+/*=============================================================================
+ Copyright footer
+=============================================================================*/
+ .copyright-footer
+ {
+ text-align: right;
+ font-size: 70%;
+ }
+
+ .copyright-footer p
+ {
+ text-align: right;
+ font-size: 80%;
+ }
+
+/*=============================================================================
+ Table of contents
+=============================================================================*/
+
+ .toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.1pc 1pc 0.1pc 1pc;
+ font-size: 80%;
+ line-height: 1.15;
+ }
+
+ .boost-toc
+ {
+ float: right;
+ padding: 0.5pc;
+ }
+
+ /* Code on toc */
+ .toc .computeroutput { font-size: 120% }
+
+/*=============================================================================
+ Tables
+=============================================================================*/
+
+ .table-title,
+ div.table p.title
+ {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+ }
+
+ div.informaltable table,
+ div.table table
+ {
+ padding: 4px;
+ }
+
+ /* Table Cells */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ padding: 0.5em;
+ text-align: left;
+ font-size: 9pt;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1pt solid white;
+ font-size: 80%;
+ }
+
+ table.simplelist
+ {
+ width: auto !important;
+ margin: 0em !important;
+ padding: 0em !important;
+ border: none !important;
+ }
+ table.simplelist td
+ {
+ margin: 0em !important;
+ padding: 0em !important;
+ text-align: left !important;
+ font-size: 9pt !important;
+ border: none !important;
+ }
+
+/*=============================================================================
+ Blurbs
+=============================================================================*/
+
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ font-size: 9pt; /* A little bit smaller than the main text */
+ line-height: 1.2;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ p.blurb img
+ {
+ padding: 1pt;
+ }
+
+/*=============================================================================
+ Variable Lists
+=============================================================================*/
+
+ div.variablelist
+ {
+ margin: 1em 0;
+ }
+
+ /* Make the terms in definition lists bold */
+ div.variablelist dl dt,
+ span.term
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td
+ {
+ text-align: left;
+ vertical-align: top;
+ padding: 0em 2em 0em 0em;
+ font-size: 10pt;
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+ div.variablelist dl dt
+ {
+ margin-bottom: 0.2em;
+ }
+
+ div.variablelist dl dd
+ {
+ margin: 0em 0em 0.5em 2em;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td p,
+ div.variablelist dl dd p
+ {
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+/*=============================================================================
+ Misc
+=============================================================================*/
+
+ /* Title of books and articles in bibliographies */
+ span.title
+ {
+ font-style: italic;
+ }
+
+ span.underline
+ {
+ text-decoration: underline;
+ }
+
+ span.strikethrough
+ {
+ text-decoration: line-through;
+ }
+
+ /* Copyright, Legal Notice */
+ div div.legalnotice p
+ {
+ text-align: left
+ }
+
+/*=============================================================================
+ Colors
+=============================================================================*/
+
+ @media screen
+ {
+ body {
+ background-color: #FFFFFF;
+ color: #000000;
+ }
+
+ /* Syntax Highlighting */
+ .keyword { color: #0000AA; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #402080; }
+ .char { color: teal; }
+ .comment { color: #800000; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .white_bkd { background-color: #FFFFFF; }
+ .dk_grey_bkd { background-color: #999999; }
+
+ /* Links */
+ a, a .keyword, a .identifier, a .special, a .preprocessor
+ a .char, a .comment, a .string, a .number
+ {
+ color: #005a9c;
+ }
+
+ a:visited, a:visited .keyword, a:visited .identifier,
+ a:visited .special, a:visited .preprocessor a:visited .char,
+ a:visited .comment, a:visited .string, a:visited .number
+ {
+ color: #9c5a9c;
+ }
+
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
+ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
+ h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
+ {
+ text-decoration: none; /* no underline */
+ color: #000000;
+ }
+
+ /* Copyright, Legal Notice */
+ .copyright
+ {
+ color: #666666;
+ font-size: small;
+ }
+
+ div div.legalnotice p
+ {
+ color: #666666;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ td .programlisting,
+ td .screen
+ {
+ border: 0px solid #DCDCDC;
+ }
+
+ /* Blurbs */
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ background-color: #F0F0F0;
+ border: 1px solid #DCDCDC;
+ }
+
+ .copyright-footer
+ {
+ color: #8F8F8F;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ color: #00A000;
+ }
+ }
+
+ @media print
+ {
+ /* Links */
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid gray;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid gray;
+ }
+
+ td .programlisting,
+ td .screen
+ {
+ border: 0px solid #DCDCDC;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid gray;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ border: 1px solid gray;
+ border-collapse: collapse;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid gray;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ border: 1px solid gray;
+ }
+
+ table.simplelist tr td
+ {
+ border: none !important;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ font-weight: bold;
+ }
+ }
+
+/*=============================================================================
+ Images
+=============================================================================*/
+
+ span.inlinemediaobject img
+ {
+ vertical-align: middle;
+ }
+
+/*==============================================================================
+ Super and Subscript: style so that line spacing isn't effected, see
+ http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341
+==============================================================================*/
+
+sup,
+sub {
+ height: 0;
+ line-height: 1;
+ vertical-align: baseline;
+ _vertical-align: bottom;
+ position: relative;
+
+}
+
+sup {
+ bottom: 1ex;
+}
+
+sub {
+ top: .5ex;
+}
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/docutils.css
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/src/docutils.css 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,275 @@
+/*
+:Author: David Goodger
+:Contact: goodger_at_[hidden]
+:Date: $Date: 2007-04-17 00:44:59 -0400 (Tue, 17 Apr 2007) $
+:Revision: $Revision: 37457 $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0 }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 ! important }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 ! important }
+
+.last, .with-subtitle {
+ margin-bottom: 0 ! important }
+
+.hidden {
+ display: none }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+ font-weight: bold }
+*/
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+ compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+ margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+ margin-top: 0.5em }
+*/
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+div.footer, div.header {
+ clear: both;
+ font-size: smaller }
+
+div.line-block {
+ display: block ;
+ margin-top: 1em ;
+ margin-bottom: 1em }
+
+div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-left: 1.5em }
+
+div.sidebar {
+ margin-left: 1em ;
+ border: medium outset ;
+ padding: 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+ margin-top: 0.4em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr.docutils {
+ width: 75% }
+
+img.align-left {
+ clear: left }
+
+img.align-right {
+ clear: right }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font-family: serif ;
+ font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80% }
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.docutils {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.footnote {
+ border-left: solid 1px black;
+ margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap ;
+ padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+ font-size: 100% }
+
+ul.auto-toc {
+ list-style-type: none }

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/alert.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/blank.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/1.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/10.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/11.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/12.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/13.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/14.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/15.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/2.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/3.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/4.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/5.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/6.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/7.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/8.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/callouts/9.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/caution.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/draft.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/home.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/important.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/next.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/next_disabled.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/note.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/prev.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/prev_disabled.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/smiley.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/tip.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/toc-blank.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/toc-minus.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/toc-plus.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/up.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/up_disabled.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/images/warning.png
==============================================================================
Binary file. No diff available.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/minimal.css
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/src/minimal.css 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,29 @@
+/*
+
+ © Copyright Beman Dawes, 2007
+
+ Distributed under the Boost Software License, Version 1.0.
+ See www.boost.org/LICENSE_1_0.txt
+
+*/
+
+/*******************************************************************************
+ Body
+*******************************************************************************/
+
+body { font-family: sans-serif; margin: 1em; }
+
+/*******************************************************************************
+ Table
+*******************************************************************************/
+
+table { margin: 0.5em; }
+
+/*******************************************************************************
+ Font sizes
+*******************************************************************************/
+
+p, td, li, blockquote { font-size: 10pt; }
+pre { font-size: 9pt; }
+
+/*** end ***/

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/src/reference.css
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/src/reference.css 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,11 @@
+/*============================================================================
+ Copyright 2003-2004 Douglas Gregor
+ Distributed under the Boost Software License, Version 1.0. (See accompany-
+ ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+============================================================================*/
+
+PRE.synopsis {
+ background-color: #e0ffff;
+ border: thin solid blue;
+ padding: 1em
+}

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/support_keyword.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/support_keyword.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,9 @@
+[import ../../../../boost/assign/v2/support/keyword.hpp]
+
+[tpl_feature
+ [@../../../../../boost/assign/v2/support/keyword.hpp [^boost/assign/v2/detail/support/keyword.hpp]]
+ ..A keyword is a `const` object whose identifier has a leading underscore, that refers to an action or data-structure that has or is
+ likely to have some use in other parts of the library, as part of a class specialization, function dispatch etc.
+ ..[syntax_detail_keyword]
+ ..None
+]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/support_traits.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/support_traits.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,16 @@
+[import ../../../../boost/assign/v2/support/traits/container.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/support/traits.hpp [^boost/assign/v2/support/traits.hpp]]
+
+[heading Description]
+
+Meta-functions that map a container to an associated type.
+
+[heading Synopsis]
+[syntax_detail_traits_container]
+
+[heading Semantics]
+
+For value containers, the semantics each of meta-function is explicit from its name. For a [tpl_ptr_container pointer container], the
+latter is first mapped to its value-container counterpart, and the same meta-function evaluated over the latter.

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/tut.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/tut.qbk 2011-06-09 17:39:50 EDT (Thu, 09 Jun 2011)
@@ -0,0 +1,171 @@
+[heading Requisites]
+
+We assume in this tutorial that all the header files are included, as shown in section [link full_include Organization]
+and
+``
+ using namespace boost::assign::v2;
+``
+
+Headers from other libraries will not be shown in the code snippets of this tutorial, but they can be found in the tutorial's
+actual [@../../tutorial.cpp source file].
+
+[heading Put]
+
+Consider this example:
+[tutorial_map]
+
+In this library, we call the variadic functor returned by [link put `__fun_put__`] an [link interpreter_crtp ['interpreter]]. It performs two tasks:
+
+* its arguments are forwarded to a ['data-generator], which outputs a data element.
+* it invokes a ['modifier], `insert`, in this case
+
+The syntax is invariant across container categories, but not the semantics:
+
+* For a map, as above, the first argument is treated as a key, and the
+rest is forwarded to the mapped-type's constructor, `word_( x, 3 )`, in the first call. Key and data are then combined into a pair,
+which is inserted using modifier `insert`.
+* For a sequence container, all arguments are forwarded to the value-type's constructor, and the result is inserted using `push_back`.
+
+For these and other container categories, see the specific rules for the [link data_gen_rules data-generator] and those for the
+[link modifier_rules modifier]. Also see the [link containers supported containers].
+
+[heading Csv]
+
+As noted in the [link boost_assign_v2.intro introduction], `__fun_put__` caters to variable argument lists,
+whereas `__fun_csv_put__` is reserved for a fixed number of arguments, which is denoted [^I]. There are two types of
+`__fun_csv_put__` overloads:
+
+* If [^I] is ommited it is assumed to be equal to one and is called the ['basic] form.
+* If [^I] is specified as an integer template parameter it is called the ['extended] form. In the [link boost_assign_v2.intro introduction]'s example, [^I = 2].
+
+Other identifiers starting with ['csv] are treated similarly [footnote ['csv] stands for comma separated values], and the two forms are
+defined in headers with suffixes ['basic] and ['ext], respectively. Among such identifiers, function
+`__fun_csv__` extends the interface of an interpreter, shown below in its basic form:
+[tutorial_csv_put]
+
+The second novelty to notice is the expression `for_each( numeric )`, where `numeric` is a [tpl_concept_range range]. It instructs the
+interpreter to scan the range's elements, and process each as if passed as an individual argument. This function shares some
+commonality with the csv-form since it assumes a fixed arity, I = 1. There is also an extended syntax, `for_each<I>( __range__ )`.
+See the [link boost_assign_v2.reference.put reference] for details.
+
+[heading Pipe syntax]
+
+Suppose we wish to put a set of integers in a container and, in the same statement, pass it through a mutating [tpl_range_algo algorithm]:
+[tutorial_do_put]
+The vertical bar, `|`, expresses the on-the-fly modification we were looking for, and call it ['piping]
+after the related [tpl_pipe idiom] by the same name. A related feature is Boost.Range's [tpl_range_adaptor range adaptors].
+Also see the [link boost_assign_v2.intro introduction]'s example.
+
+[heading Container generation]
+[#tut_cont_gen]
+
+After having assigned `target` and, in the same statement, passed it through a
+[@http://www.boost.org/doc/libs/1_46_0/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html stable partition] algorithm,
+let's verify the state of the container against that of an in place generated container:
+[tutorial_csv_deque]
+
+In keeping with our previously established ['csv] convention, there are two variants of container generating function
+[link csv_deque `__fun_csv_deque__`], basic and extented, and it is paired with a functor form, [link deque `__fun_deque__`].
+
+[#tut_empty]
+Another convention, which we now introduce by way of
+example, is that which governs the generation of an empty container:
+
+[tutorial_empty_deque]
+
+In comparison, `__fun_deque__<int>()` and `__fun_csv_deque__( int() )` generate a container of size [^1], whose element is default
+constructed.
+
+[heading Pointer-containers]
+
+To insert elements in a [tpl_ptr_container pointer container], pretend it is a value-container:
+[tutorial_ptr_container]
+
+[heading Options]
+
+An [link boost_assign_v2.reference.option option] overrides the default semantics, described under heading [*Put], above, of
+
+* the data-generator, or
+* the modifier
+
+Here's an example of an option for overriding the deduced [*data-generator]:
+[tutorial_data]
+
+Option keyword `__kwd_data__` accepts as input two kinds of objects:
+
+* A functor, such as `f_( log10 )`, above
+* A keyword : `__kwd_key__`, `__kwd_element__`, `__kwd_mapped__`, and `__kwd_value__`.
+
+The second kind is only needed in rather special cases, yet here's how it works: with `__kwd_data__ = __kwd_value__`
+[footnote The type of expression `__kwd_data__ = __kwd_value__` has alias `value_`, so that `value_()` can be used as a shortcut.]
+the data-generator is changed to the container's value-type constructor [footnote For pointer-container,
+pretend it is the counterpart that stores its element by value.], and likewise for other keywords.
+
+Here's an example that changes the internal [*modifier] to `push_front`, with [^I = 1]:
+[tutorial_push_front]
+
+As seen from these two examples, there is a difference of syntax between the functor and its dual csv form:
+
+* The functor form uses `operator%` with an option keyword, say `__kwd_push_front__`.
+* The csv form specifies the option with a template argument, say `push_front_`.
+
+Consequently, only default constructible options are allowed in the second case. Function `__fun_deque__` works both ways:
+[tutorial_repeat]
+
+Composing the two options, here, could have alternatively been achieved as follows:
+`deque<int>( _nil) % _push_front % _modifier`. This composition syntax extends to an arbitrary number of options.
+
+Creating a custom modifier-option is facilitated by [link modifier_macro macros] that manage the
+overhead.
+
+[heading Reference arrays]
+
+In the examples that precede, `__fun_csv_deque__` could be replaced by [link ref_csv_array `__fun_ref_csv_array__`],
+which returns a reference-array. The reciprocal is not true, in general:
+
+* A reference-array is preferable if the values are expensive to copy
+* It is necessary for working specifically with references
+
+The second case is illustrated below:
+
+[tutorial_ref_csv_array]
+
+Here, an implicit conversion takes place, from each of the reference-array's element (a reference wrapper) to the reference it holds.
+More generally,
+
+* In read mode, as above, the context usually suffices to cause this conversion.
+* In write-mode i.e. if the values of the held references are to be modified, explicit conversion is usually required.
+
+Explicit conversion is achieved using a [tpl_range_adaptor range adaptor] identified by keyword `__kwd_ref_get__`:
+[tutorial_ref_csv_array_write]
+
+In keeping with our ['csv] convention, `__fun_ref_csv_array__` has a functor dual, [link ref_array `__fun_ref_array__`]. Unlike
+`__fun_put__` or `__fun_deque__`, it is unary (not variadic).
+
+[heading Chaining]
+
+Chaining ranges is already provided by [tpl_range_join `join`] in [tpl_range Boost.Range]. Here's a [link chain variant] that caters
+to reference arrays:
+[tutorial_chain]
+
+Note that
+
+* This algorithm modifies `x`, `y` and `z` even though the array returned by `ref::csv_array` is
+a temporary.
+* Keyword [link ref_get `__kwd_ref_get__`] is needed in conjunction with a reference-array, as explained under the previous
+heading, but otherwise it should be ommited.
+* There is a shorter syntax, using [link chain_operator `operator&&`].
+
+
+[heading Conversion]
+
+This section deals with conversion from a [tpl_concept_range Range] to collections of elements that need not (but may) support iterators. For example,
+[tutorial_converter]
+
+Notice that the left hand side of `=` is an [tpl_stl_adapter adapter] so, unlike the container in the right hand side, it is not a
+[tpl_concept_range Range]. Here, the object returned by [link converter converter] is able to deduce the appropriate conversion (implicit),
+but some contexts necessitate [link convert explicit conversion]. It is illustrated by continuing the above snippet as follows:
+[tutorial_convert]
+
+Here's an example combining implicit and explicit conversion:
+[tutorial_conversion]
\ No newline at end of file


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