Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71827 - 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-05-08 12:02:17


Author: e_r
Date: 2011-05-08 12:02:10 EDT (Sun, 08 May 2011)
New Revision: 71827
URL: http://svn.boost.org/trac/boost/changeset/71827

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-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,425 @@
+[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://en.wikipedia.org/wiki/C%2B%2B03 [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__ Csv form]
+[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_csv_deque__ csv_deque]
+[def __fun_deque__ deque]
+[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 __fun_convert__ convert]
+[def __fun_csv_put__ csv_put]
+[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 library is an upgrade of __url_boost_assign_v1__ that redefines its functionality, with optional C++0x support
+and new features. It expresses repetitive statements for assigning or inserting elements via a basic grammar
+[footnote It may help to look at [@http://www.sgi.com/tech/stl/basic_string.html `std::string`]'s overloaded constructors]:
+[tutorial_map]
+
+The above example catpures the basic aspects of this library:
+
+* The ['interpreter] returned by [link boost_assign_v2.reference.put `__fun_put__`] forwards its arguments to a ['data-generator]
+* The result is inserted in the container, by invoking a modifier which is deduced from the container's type, such that
+[link boost_assign_v2.reference.put `__fun_put__`] works uniformly across different container categories. See supported
+[link containers containers].
+
+Related features include:
+
+* Operator `%` is used for passing options that override the default behavior described above. [link option_modifier Macros] are
+provided to create new options.
+* Operator `|` expresses a ['piping] alternative to `__fun_put__` i.e. it returns the modified
+container, thereby facilitating integration with [tpl_range_algo range algorithms].
+* A variant of `__fun_put__`, [link boost_assign_v2.reference.deque `deque<>`], generates a container.
+
+Functionality that is adjunct to or independent of ['put] 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, delineated by namespace [link boost_assign_v2.reference.ref `ref`], for generating an [tpl_boost_array array]
+of reference wrappers, for short, a ['reference-array].
+
+[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:interpreter Interpreter]
+[include interpreter.qbk]
+[endsect][/ interpreter]
+
+[section:include Include]
+[include include.qbk]
+[endsect]
+
+[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]
+

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/boostbook.css
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/boostbook.css 2011-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,75 @@
+[#chain]
+
+[heading Header]
+[@../../../../../boost/assign/v2/chain.hpp [^boost/assign/v2/chain.hpp]]
+
+[note This header does not include [^boost/assign/v2/chain/logical_and.hpp]. ]
+
+[heading Description]
+A variant of [tpl_range_join join] that caters to [link boost_assign_v2.reference.ref reference arrays]
+
+[section:chain Chain]
+
+[heading Header]
+[@../../../../../boost/assign/v2/chain/chain.hpp [^boost/assign/v2/chain/chain.hpp]]
+
+[heading Description]
+[tpl_range_adaptor Range adaptor] syntax.
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/chain/chain.hpp]
+[syntax_chain_chain]
+
+[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_chain_read]
+[*Example 2]
+[test_chain_write]
+
+[endsect][/chain]
+[section:logical_and Logical_and]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/chain/logical_and.hpp [^boost/assign/v2/chain/logical_and.hpp]]
+ ..Alternative syntax.
+]
+
+[heading Semantics]
+[table
+ [ [Expression][ Description ] ]
+ [
+ [`r1 && r2`]
+ [Equivalent to `r1 | _chain( r2 )`]
+ ]
+]
+
+[heading Example]
+
+[*Example 1]
+[test_chain_write_refs]
+
+[endsect][/logical_and]
+
+

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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,32 @@
+[section:v2 \[Proposal for\] Upgrading from __boost__ v1.4x : __boost_assign_v2__]
+
+The change in organization is laid out in section [link org Organization]. This upgrade is a follow up to a __url_boost_assign_v2_mini_review__ in which
+only a subset of the present upgrade was considered. Here are the changes that can be traced to this 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 function, [link ref_csv_array `__fun_ref_csv_array__`], whose invocation is equivalent to
+[link ref_array `__fun_ref_array__`] followed by successive functor calls.
+* A [tpl_range_adaptor range adaptor] for [link chain chaining] ranges, with special consideration for reference-arrays.
+
+In addition, this library addresses some demands that surfaced during the mini-review:
+
+* Generalizes the 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 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].
+
+Finally, the most significant change pertains to the replacement of `list_of` and list-inserters by [link deque `__fun_deque__`] and
+[link put `__fun_put__`], respectively. In this new framework, each features derives most of its functionality from a crtp class, [link interpreter_crtp
+`interpreter_crtp`]. Refer to the [link intro introduction] for an overview. Section [link perf Performance] contains a speed comparison of
+expressions under __url_boost_assign_v1__ and their nearest analogue under __url_boost_assign_v2__.
+
+Some miscellanea tools, such as [link conversion conversion], that were previously embedded in an object, such as that returned by `list_of`, are now provided
+as 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,39 @@
+[#config]
+
+[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]
+``
+ #define BOOST_ASSIGN_V2_LIMIT_ARITY __unspecified__
+ #define BOOST_ASSIGN_V2_LIMIT_CSV_ARITY __unspecified__
+ #define BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY __unspecified__
+``
+
+[heading Semantics]
+
+[table
+ [[ Constant ][ Default ][ Description ]]
+ [
+ [ `BOOST_ASSIGN_V2_LIMIT_ARITY`]
+ [`BOOST_MPL_LIMIT_METAFUNCTION_ARITY`]
+ [ A functor's max # of arguments ]
+ ]
+ [
+ [ `BOOST_ASSIGN_V2_LIMIT_CSV_ARITY`]
+ [20]
+ [ Limits a csv-function's max # of arguments]
+ ]
+ [
+ [ `BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY`]
+ [2]
+ [ A functor's max # of arguments for which any mixture of lvalue and const-lvalues is preserved
+ [footnote Beyond this limit, arguments are treated as either all lvalues or all const-lvalues.]
+ ]
+ ]
+]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/containers.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/containers.qbk 2011-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,82 @@
+[def __pass__ Yes]
+[def __fail__ No]
+
+[#containers]
+
+Known support for invoking `__fun_put__( __cont__ )( __args1__ )...( __argsn__ )` is summarized below. Lack of support means that the
+library is unable to provide a default implementation, but the user may still be able to supply an explicit implementation :
+`( __fun_put__( __cont__ ) % __key_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-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,87 @@
+[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_convert]
+
+[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_converter]
+[*Example 2]
+[test_converter_multi_array]
+[*Example 3]
+[test_conversion_matrix3x3]
+
+[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-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,68 @@
+[import ../test/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__
+
+[heading Synopsis]
+[syntax_deque_csv_deque]
+
+[heading Example]
+[*Example 1]
+[test_csv_deque_str_literal]
+[*Example 2]
+[test_csv_deque_ints]
+
+[/note The internal value-type is `boost::decay<__value_type__>::type` to allow for a string literal]
+
+[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_deque_str_literal]
+[*Example 2]
+[test_deque_variadic]
+
+[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-05-08 12:02:10 EDT (Sun, 08 May 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="id36381115"></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="id36381229"></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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,118 @@
+<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>
+ The change in organization is laid out in section <a class="link" href="../org.html#org">Organization</a>.
+ This upgrade is a follow up to a mini-review
+ in which only a subset of the present upgrade was considered. Here are
+ the changes that can be traced to this 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 function, <a class="link" href="../reference/ref.html#ref_csv_array"><code class="computeroutput">ref::csv_array</code></a>,
+ whose invocation is equivalent to <a class="link" href="../reference/ref.html#ref_array"><code class="computeroutput">ref::array</code></a>
+ followed by successive functor calls.
+ </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 <a class="link" href="../reference.html#chain">chaining</a> ranges, with
+ special consideration for reference-arrays.
+ </li>
+</ul></div>
+<p>
+ In addition, 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 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 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>
+<p>
+ Finally, the most significant change pertains to the replacement of <code class="computeroutput"><span class="identifier">list_of</span></code> and list-inserters 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, each features derives most of its functionality from a crtp
+ class, <a class="link" href="../reference/interpreter.html#interpreter_crtp"><code class="computeroutput"><span class="identifier">interpreter_crtp</span></code></a>.
+ Refer to the <a class="link" href="../../index.html#intro">introduction</a> for an overview.
+ 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>.
+ </p>
+<p>
+ Some miscellanea tools, such as <a class="link" href="../reference/conversion.html#conversion">conversion</a>,
+ that were previously embedded in an object, such as that returned by <code class="computeroutput"><span class="identifier">list_of</span></code>, are now provided as 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>
+<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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,157 @@
+<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. Lack
+ of support means that the library is unable to provide a default implementation,
+ but the user may still be able to supply an explicit implementation : <code class="computeroutput"><span class="special">(</span> put<span class="special">(</span> cont <span class="special">)</span> <span class="special">%</span> <span class="identifier">__key_option__</span>
+ <span class="special">)(</span> args1... <span class="special">)...(</span>
+ argsn... <span class="special">)</span></code>.
+ </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>
+<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-05-08 12:02:10 EDT (Sun, 08 May 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="id36382336"></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="id36382459"></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="id36382596" href="#ftn.id36382596" class="footnote">6</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="id36382640"></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.id36382596" href="#id36382596" class="para">6</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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,428 @@
+<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_delay_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">delay_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>Results</strong></span>
+</p>
+<pre class="programlisting"><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="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.013</span><span class="special">,</span> <span class="number">0.014</span><span class="special">,</span> <span class="number">0.028</span><span class="special">,</span> <span class="number">183.0</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.048</span><span class="special">,</span> <span class="number">419.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.014</span><span class="special">,</span> <span class="number">0.015</span><span class="special">,</span> <span class="number">0.026</span><span class="special">,</span> <span class="number">194.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.014</span><span class="special">,</span> <span class="number">0.015</span><span class="special">,</span> <span class="number">0.030</span><span class="special">,</span> <span class="number">192.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_delay_csv_put</span><span class="special">,</span> <span class="number">0.013</span><span class="special">,</span> <span class="number">0.014</span><span class="special">,</span> <span class="number">0.024</span><span class="special">,</span> <span class="number">184.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">0.120</span><span class="special">,</span> <span class="number">0.124</span><span class="special">,</span> <span class="number">0.170</span><span class="special">,</span> <span class="number">1588.0</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.100</span><span class="special">,</span> <span class="number">0.104</span><span class="special">,</span> <span class="number">0.143</span><span class="special">,</span> <span class="number">1332.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.042</span><span class="special">,</span> <span class="number">0.045</span><span class="special">,</span> <span class="number">0.067</span><span class="special">,</span> <span class="number">579.1</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.007</span><span class="special">,</span> <span class="number">17.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.002</span><span class="special">,</span> <span class="number">0.004</span><span class="special">,</span> <span class="number">0.009</span><span class="special">,</span> <span class="number">47.9</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">18.0</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.056</span><span class="special">,</span> <span class="number">225.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.110</span><span class="special">,</span> <span class="number">529.6</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.036</span><span class="special">,</span> <span class="number">0.060</span><span class="special">,</span> <span class="number">233.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.035</span><span class="special">,</span> <span class="number">0.036</span><span class="special">,</span> <span class="number">0.056</span><span class="special">,</span> <span class="number">231.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_delay_csv_put</span><span class="special">,</span> <span class="number">0.034</span><span class="special">,</span> <span class="number">0.036</span><span class="special">,</span> <span class="number">0.049</span><span class="special">,</span> <span class="number">230.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.178</span><span class="special">,</span> <span class="number">0.185</span><span class="special">,</span> <span class="number">0.236</span><span class="special">,</span> <span class="number">1182.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.139</span><span class="special">,</span> <span class="number">0.141</span><span class="special">,</span> <span class="number">0.205</span><span class="special">,</span> <span class="number">905.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.072</span><span class="special">,</span> <span class="number">0.075</span><span class="special">,</span> <span class="number">0.100</span><span class="special">,</span> <span class="number">481.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.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">9.0</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.3</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.3</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.092</span><span class="special">,</span> <span class="number">0.095</span><span class="special">,</span> <span class="number">0.104</span><span class="special">,</span> <span class="number">304.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">0.244</span><span class="special">,</span> <span class="number">0.253</span><span class="special">,</span> <span class="number">0.331</span><span class="special">,</span> <span class="number">808.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.095</span><span class="special">,</span> <span class="number">0.100</span><span class="special">,</span> <span class="number">0.148</span><span class="special">,</span> <span class="number">320.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.096</span><span class="special">,</span> <span class="number">0.100</span><span class="special">,</span> <span class="number">0.116</span><span class="special">,</span> <span class="number">321.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_delay_csv_put</span><span class="special">,</span> <span class="number">0.093</span><span class="special">,</span> <span class="number">0.096</span><span class="special">,</span> <span class="number">0.118</span><span class="special">,</span> <span class="number">307.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.327</span><span class="special">,</span> <span class="number">0.339</span><span class="special">,</span> <span class="number">0.747</span><span class="special">,</span> <span class="number">1085.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.211</span><span class="special">,</span> <span class="number">0.215</span><span class="special">,</span> <span class="number">0.257</span><span class="special">,</span> <span class="number">687.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.145</span><span class="special">,</span> <span class="number">0.149</span><span class="special">,</span> <span class="number">0.221</span><span class="special">,</span> <span class="number">475.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.000</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.014</span><span class="special">,</span> <span class="number">4.6</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.026</span><span class="special">,</span> <span class="number">42.0</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.012</span><span class="special">,</span> <span class="number">7.4</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.282</span><span class="special">,</span> <span class="number">0.289</span><span class="special">,</span> <span class="number">0.315</span><span class="special">,</span> <span class="number">462.0</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">0.519</span><span class="special">,</span> <span class="number">0.528</span><span class="special">,</span> <span class="number">0.588</span><span class="special">,</span> <span class="number">845.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.270</span><span class="special">,</span> <span class="number">0.276</span><span class="special">,</span> <span class="number">0.317</span><span class="special">,</span> <span class="number">440.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.273</span><span class="special">,</span> <span class="number">0.282</span><span class="special">,</span> <span class="number">0.338</span><span class="special">,</span> <span class="number">451.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_delay_csv_put</span><span class="special">,</span> <span class="number">0.267</span><span class="special">,</span> <span class="number">0.273</span><span class="special">,</span> <span class="number">0.304</span><span class="special">,</span> <span class="number">437.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">0.624</span><span class="special">,</span> <span class="number">0.635</span><span class="special">,</span> <span class="number">0.687</span><span class="special">,</span> <span class="number">1015.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.389</span><span class="special">,</span> <span class="number">0.396</span><span class="special">,</span> <span class="number">0.436</span><span class="special">,</span> <span class="number">632.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.316</span><span class="special">,</span> <span class="number">0.323</span><span class="special">,</span> <span class="number">0.364</span><span class="special">,</span> <span class="number">517.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.004</span><span class="special">,</span> <span class="number">2.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_ref_array</span><span class="special">,</span> <span class="number">0.038</span><span class="special">,</span> <span class="number">0.039</span><span class="special">,</span> <span class="number">0.055</span><span class="special">,</span> <span class="number">63.0</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.3</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.650</span><span class="special">,</span> <span class="number">0.658</span><span class="special">,</span> <span class="number">0.706</span><span class="special">,</span> <span class="number">526.1</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">1.156</span><span class="special">,</span> <span class="number">1.172</span><span class="special">,</span> <span class="number">1.258</span><span class="special">,</span> <span class="number">937.2</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">0.670</span><span class="special">,</span> <span class="number">0.677</span><span class="special">,</span> <span class="number">0.741</span><span class="special">,</span> <span class="number">541.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">0.670</span><span class="special">,</span> <span class="number">0.677</span><span class="special">,</span> <span class="number">0.729</span><span class="special">,</span> <span class="number">541.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_delay_csv_put</span><span class="special">,</span> <span class="number">0.661</span><span class="special">,</span> <span class="number">0.669</span><span class="special">,</span> <span class="number">0.741</span><span class="special">,</span> <span class="number">535.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">1.263</span><span class="special">,</span> <span class="number">1.274</span><span class="special">,</span> <span class="number">1.379</span><span class="special">,</span> <span class="number">1018.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">0.796</span><span class="special">,</span> <span class="number">0.813</span><span class="special">,</span> <span class="number">0.913</span><span class="special">,</span> <span class="number">650.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">0.719</span><span class="special">,</span> <span class="number">0.731</span><span class="special">,</span> <span class="number">0.788</span><span class="special">,</span> <span class="number">584.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.004</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.122</span><span class="special">,</span> <span class="number">0.125</span><span class="special">,</span> <span class="number">0.148</span><span class="special">,</span> <span class="number">99.8</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.008</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.252</span><span class="special">,</span> <span class="number">1.266</span><span class="special">,</span> <span class="number">1.343</span><span class="special">,</span> <span class="number">506.5</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_push_back</span><span class="special">,</span> <span class="number">2.316</span><span class="special">,</span> <span class="number">2.332</span><span class="special">,</span> <span class="number">2.439</span><span class="special">,</span> <span class="number">932.9</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_put</span><span class="special">,</span> <span class="number">1.292</span><span class="special">,</span> <span class="number">1.302</span><span class="special">,</span> <span class="number">1.400</span><span class="special">,</span> <span class="number">520.8</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_put</span><span class="special">,</span> <span class="number">1.282</span><span class="special">,</span> <span class="number">1.294</span><span class="special">,</span> <span class="number">1.364</span><span class="special">,</span> <span class="number">517.6</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_delay_csv_put</span><span class="special">,</span> <span class="number">1.262</span><span class="special">,</span> <span class="number">1.273</span><span class="special">,</span> <span class="number">1.335</span><span class="special">,</span> <span class="number">509.3</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v1_list_of</span><span class="special">,</span> <span class="number">2.395</span><span class="special">,</span> <span class="number">2.411</span><span class="special">,</span> <span class="number">2.612</span><span class="special">,</span> <span class="number">964.4</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_deque</span><span class="special">,</span> <span class="number">1.398</span><span class="special">,</span> <span class="number">1.409</span><span class="special">,</span> <span class="number">1.489</span><span class="special">,</span> <span class="number">563.7</span><span class="special">},</span>
+<span class="special">{</span><span class="identifier">v2_csv_deque</span><span class="special">,</span> <span class="number">1.322</span><span class="special">,</span> <span class="number">1.339</span><span class="special">,</span> <span class="number">1.406</span><span class="special">,</span> <span class="number">535.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.004</span><span class="special">,</span> <span class="number">0.005</span><span class="special">,</span> <span class="number">0.007</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.521</span><span class="special">,</span> <span class="number">0.538</span><span class="special">,</span> <span class="number">0.599</span><span class="special">,</span> <span class="number">215.0</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.026</span><span class="special">,</span> <span class="number">0.027</span><span class="special">,</span> <span class="number">0.039</span><span class="special">,</span> <span class="number">11.0</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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,331 @@
+<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>
+ Here is the test suite.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<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>
+ Test
+ </p>
+ </th>
+<th>
+ <p>
+ Boost.Assign 2.0
+ </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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal">r71798</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>
+ passed
+ </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-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,122 @@
+<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="id36331715"></a>
+ <a class="link" href="org.html#boost_assign.org.headers">Headers</a>
+ </h4>
+<a name="org_headers"></a><p>
+ Using a given feature of this library requires no more than including the corresponding
+ header file. To find it, one can look inside either the organization by module
+ or the one by identifier :
+ </p>
+<a name="full_include"></a><div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ In directory boost/assign/v2, headers and directories (except
+ <code class="literal">include</code>) are organized according to the modular structure
+ of this library. The following statement :
+<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>
+ includes all the modules <sup>[<a name="id36331823" href="#ftn.id36331823" class="footnote">2</a>]</sup>.
+ </li>
+<li class="listitem">
+ In directory boost/assign/v2/include
+ headers are named after an identifier that they define<sup>[<a name="id36331873" href="#ftn.id36331873" class="footnote">3</a>]</sup>. The following statement
+<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>
+ defines all the identifiers, and is equivalent to the previous include
+ statement.
+ </li>
+<li class="listitem">
+ The content of the library prior to upgrade 2.0 (above) is included in
+ a project as follows:
+<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>
+ </li>
+</ul></div>
+<p>
+ This prior library,
+ whose version we (retrospectively) label 1.0, is a separate entity from that
+ versioned 2.0. Consequently, it's possible to use both in the same projet without
+ risking a clash, but it's probably more coherent to stick to just one version.
+ </p>
+<a name="boost_assign.org.namespaces"></a><h4>
+<a name="id36332007"></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.id36331823" href="#id36331823" class="para">2</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.id36331873" href="#id36331873" class="para">3</a>] </sup>
+ Excepted <code class="literal">option.hpp</code>, which includes <span class="emphasis"><em>all</em></span>
+ the options. Creating, instead, a header for each option would have obfuscated
+ the organization
+ </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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,419 @@
+<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">Chain</span></dt>
+<dt><span class="section">Logical_and</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>
+<dt><span class="section">Deque</span></dt>
+</dl></dd>
+<dt><span class="section">Interpreter</span></dt>
+<dd><dl>
+<dt><span class="section">As_arg_list</span></dt>
+<dt><span class="section">Crtp</span></dt>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+</dl></dd>
+<dt><span class="section">Include</span></dt>
+<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>
+<dt><span class="section">Delay_csv_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="id36335964"></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">Chain</span></dt>
+<dt><span class="section">Logical_and</span></dt>
+</dl></div>
+<a name="chain"></a><a name="boost_assign.reference.chain.header"></a><h5>
+<a name="id36336001"></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/logical_and.hpp</code>.
+ </p></td></tr>
+</table></div>
+<a name="boost_assign.reference.chain.description"></a><h5>
+<a name="id36336038"></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.chain"></a><a class="link" href="reference.html#boost_assign.reference.chain.chain" title="Chain">Chain</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.chain.chain.header"></a><h6>
+<a name="id36336076"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.chain.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/chain/chain.hpp
+ </p>
+<a name="boost_assign.reference.chain.chain.description"></a><h6>
+<a name="id36336101"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.chain.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.chain.synopsis"></a><h6>
+<a name="id36336124"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.chain.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="boost_assign.reference.chain.chain.semantics"></a><h6>
+<a name="id36336614"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.chain.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.chain.examples"></a><h6>
+<a name="id36336932"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.chain.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.logical_and"></a><a class="link" href="reference.html#boost_assign.reference.chain.logical_and" title="Logical_and">Logical_and</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.chain.logical_and.header"></a><h6>
+<a name="id36337773"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.logical_and.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/chain/logical_and.hpp
+ </p>
+<a name="boost_assign.reference.chain.logical_and.description"></a><h6>
+<a name="id36337799"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.logical_and.description">Description</a>
+ </h6>
+<p>
+ Alternative syntax.
+ </p>
+<a name="boost_assign.reference.chain.logical_and.semantics"></a><h6>
+<a name="id36337818"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.logical_and.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> <span class="identifier">_chain</span><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.logical_and.example"></a><h6>
+<a name="id36337935"></a>
+ <a class="link" href="reference.html#boost_assign.reference.chain.logical_and.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_assign4co" href="reference.html#boost_assign4"><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_assign5co" href="reference.html#boost_assign5"><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_assign4"></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_assign5"></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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,405 @@
+<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="id36338607"></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="id36338629"></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="id36338662"></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="id36338690"></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="id36338709"></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">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">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="id36339136"></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="id36339552"></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="id36339844"></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="id36339869"></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="id36339888"></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">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">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="id36340533"></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="id36340558"></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">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>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </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">as2</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">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">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="special">|</span> <span class="identifier">as_row</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">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">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">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">BOOST_ASSIGN_V2_CHECK</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>
+</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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,451 @@
+<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="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="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="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.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>
+<dt><span class="section">Deque</span></dt>
+</dl></div>
+<a name="boost_assign.reference.deque.header"></a><h5>
+<a name="id36342239"></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="id36342299"></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="id36342326"></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="id36342396"></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="id36342420"></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_assign6co" href="deque.html#boost_assign6"><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_assign6"></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>
+<a name="csv_deque"></a><a name="boost_assign.reference.deque.csv_deque.header"></a><h6>
+<a name="id36342750"></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="id36342820"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_deque.description">Description</a>
+ </h6>
+<p>
+ Csv form
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.synopsis"></a><h6>
+<a name="id36342838"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.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">O</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">csv_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">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="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">t</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">O</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_option</span><span class="special">&lt;</span><span class="identifier">O</span><span class="special">,</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">O</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">options</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&amp;</span> <span class="identifier">t</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>
+
+<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="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_option</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.example"></a><h6>
+<a name="id36343556"></a>
+ <a class="link" href="deque.html#boost_assign.reference.deque.csv_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">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">csv_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="identifier">C2</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">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="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">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">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="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">std</span><span class="special">::</span><span class="identifier">string</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">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">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><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="id36345018"></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="id36345093"></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="id36345115"></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="special">:</span> <span class="identifier">put_crtp_</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">&lt;</span><span class="identifier">put_crtp_</span><span class="special">&amp;&gt;(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">impl</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">d</span><span class="special">.</span><span class="identifier">impl</span><span class="special">)</span> <span class="special">)</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="special">{</span>
+ <span class="identifier">put_crtp_</span><span class="special">::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">&lt;</span><span class="identifier">put_crtp_</span><span class="special">&amp;&gt;(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">);</span>
+ <span class="identifier">impl</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">d</span><span class="special">.</span><span class="identifier">impl</span><span class="special">);</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="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">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="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="id36347368"></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="id36347448"></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="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/include.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/include.html 2011-05-08 12:02:10 EDT (Sun, 08 May 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="interpreter.html" title="Interpreter">
+<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="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="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.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="id36352144"></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="id36352211"></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="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="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/interpreter.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/interpreter.html 2011-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,585 @@
+<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="deque.html" title="Deque">
+<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="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="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.interpreter"></a><a class="link" href="interpreter.html" title="Interpreter">Interpreter</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">As_arg_list</span></dt>
+<dt><span class="section">Crtp</span></dt>
+<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="id36348694"></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="id36348762"></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.as_arglist"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.as_arglist" title="As_arg_list">As_arg_list</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.interpreter.as_arglist.header"></a><h6>
+<a name="id36348799"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.as_arglist.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/interpreter/as_arg_list.hpp
+ </p>
+<a name="boost_assign.reference.interpreter.as_arglist.description"></a><h6>
+<a name="id36348875"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.as_arglist.description">Description</a>
+ </h6>
+<p>
+ Range wrapper that tells an interpreter to process each its element individually
+ </p>
+<a name="boost_assign.reference.interpreter.as_arglist.synopsis"></a><h6>
+<a name="id36348898"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.as_arglist.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="comment">// Range
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">as_arg_list_adapter</span>
+ <span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_range</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="special">&gt;;</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">is_as_arg_list_adapter</span>
+ <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</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">struct</span> <span class="identifier">is_as_arg_list_adapter</span><span class="special">&lt;</span>
+ <span class="identifier">as_arg_list_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</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="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">as_arg_list</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">as_arg_list</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">as_arg_list</span><span class="special">(</span><span class="identifier">R</span><span class="special">&amp;</span> <span class="identifier">range</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">as_arg_list</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">as_arg_list</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</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">as_arg_list</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">as_arg_list</span><span class="special">;</span>
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.interpreter.as_arglist.example"></a><h6>
+<a name="id36349554"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.as_arglist.example">Example</a>
+ </h6>
+<p>
+ None
+ </p>
+</div>
+<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="id36349596"></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="id36349672"></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="id36349695"></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">as_arg_list</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.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="id36350216"></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="id36350292"></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="id36350315"></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="id36350453"></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="id36351085"></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="id36351161"></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="id36351184"></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="id36351797"></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="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="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/option.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/option.html 2011-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,1169 @@
+<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="include.html" title="Include">
+<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="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="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="boost_assign.reference.option.header"></a><h5>
+<a name="id36352326"></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="id36352393"></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="id36352430"></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="id36352504"></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="id36352662"></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="id36352737"></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="id36352766"></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">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">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">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">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">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">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">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="id36353820"></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="id36353856"></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">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span>
+ <span class="identifier">exponent</span>
+ <span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_option</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="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_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">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_option</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="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">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="keyword">typedef</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">C</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">mapped_type</span> <span class="identifier">D</span><span class="special">;</span>
+<span class="identifier">C</span> <span class="identifier">map</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">(</span> <span class="identifier">map</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">_data</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_value</span> <span class="special">)</span>
+<span class="special">)(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">D</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="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">D</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="number">4</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">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">BOOST_ASSIGN_V2_CHECK</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">BOOST_ASSIGN_V2_CHECK</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">BOOST_ASSIGN_V2_CHECK</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>
+ Also see Example2 of section <a class="link" href="option.html#option_mapped">Mapped</a>
+ </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="id36355386"></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="id36355417"></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="id36355465"></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="id36355492"></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="id36355514"></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="id36356366"></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="id36356703"></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="id36356803"></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="id36356888"></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="id36356910"></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="id36357042"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.iterate.example">Example</a>
+ </h6>
+<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">alternating</span><span class="special">;</span>
+<span class="identifier">alternating</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="identifier">alternating</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="special">+</span><span class="number">1</span><span class="special">;</span>
+<span class="identifier">alternating</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="special">-</span><span class="number">2</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">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span>
+ <span class="identifier">alternating</span>
+ <span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_option</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="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">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">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">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">alternating</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">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">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">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">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">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><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="id36357710"></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="id36357795"></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="id36357817"></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="id36357960"></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="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">option</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="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">as_arg_list</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">)</span>
+ <span class="special">%</span> <span class="identifier">option</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>
+<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">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="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">year</span> <span class="special">)</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">"apr"</span><span class="special">,</span> <span class="number">30</span> <span class="special">)(</span> <span class="string">"jun"</span><span class="special">,</span> <span class="number">30</span> <span class="special">)(</span> <span class="string">"sep"</span><span class="special">,</span> <span class="number">30</span> <span class="special">)(</span> <span class="string">"nov"</span><span class="special">,</span> <span class="number">30</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">_data</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_key</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">_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><a class="co" name="boost_assign7co" href="option.html#boost_assign7"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><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>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign7"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">year</span><span class="special">[</span>
+ <span class="identifier">month_</span><span class="special">(</span>
+ <span class="string">"jan"</span> <span class="special">)</span>
+ <span class="special">]</span> <span class="special">=</span>
+ <span class="number">31</span></code>
+ </p></td>
+</tr></table></div>
+</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="id36359168"></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="id36359388"></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="id36359410"></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="id36359519"></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">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">as2</span><span class="special">::</span><span class="identifier">_option</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="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">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="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">cont</span><span class="special">,</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">as2</span><span class="special">::</span><span class="identifier">_push_front</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="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">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="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</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="id36360173"></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="id36360258"></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="id36360280"></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="id36360429"></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="special">-</span><span class="number">2</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">option</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_option</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">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">array2</span><span class="special">,</span> <span class="identifier">option</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">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">array2</span><span class="special">,</span> <span class="identifier">option</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="id36361424"></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="id36361509"></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="id36361532"></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="id36361650"></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</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">delay_csv_put</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_option</span> <span class="special">%</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_push_front</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">2</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">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">delay_csv_put</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>
+<a name="boost_assign.reference.option.modifier.std_modifier.macro"></a><h6>
+<a name="id36362463"></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="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="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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,613 @@
+<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>
+<dt><span class="section">Delay_csv_put</span></dt>
+<dt><span class="section">Put</span></dt>
+</dl></div>
+<a name="boost_assign.reference.put.header"></a><h5>
+<a name="id36362778"></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="id36362808"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.description">Description</a>
+ </h5>
+<p>
+ Interpreter for modifying 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>
+<a name="csv_put"></a><a name="boost_assign.reference.put.csv_put.header"></a><h6>
+<a name="id36362848"></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="id36362878"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.description">Description</a>
+ </h6>
+<p>
+ Csv form
+ </p>
+<a name="boost_assign.reference.put.csv_put.synopsis"></a><h6>
+<a name="id36362900"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.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">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">O</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">O</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">option</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">C</span><span class="special">,</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">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">T</span><span class="special">&amp;&amp;</span> <span class="identifier">t</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">C</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="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.semantics"></a><h6>
+<a name="id36363297"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.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">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>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">(</span>cont<span class="special">,</span>
+ _option <span class="special">%</span> option1 % ... % optionm<span class="special">,</span> args...<span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span> put<span class="special">(</span>
+ cont <span class="special">)</span> <span class="special">%</span>
+ option1 % ... % optionm <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.example"></a><h6>
+<a name="id36363522"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.csv_put.example">Example</a>
+ </h6>
+<a name="ex_csv_put"></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">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">boost</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">boost</span><span class="special">::</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">key_</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">key_</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span> <span class="identifier">keypad</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">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="identifier">as2</span><span class="special">::</span><span class="identifier">as_arg_list</span><span class="special">(</span> <span class="identifier">numeric</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">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">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</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>
+<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">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="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span>
+ <span class="identifier">range_3bit</span>
+ <span class="special">,</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"000"</span> <span class="special">),</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"001"</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"010"</span> <span class="special">),</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"011"</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"100"</span> <span class="special">),</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"101"</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"110"</span> <span class="special">),</span> <span class="identifier">str_</span><span class="special">(</span> <span class="string">"111"</span> <span class="special">)</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>
+<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">key_</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">boost</span><span class="special">::</span><span class="identifier">ptr_map</span><span class="special">&lt;</span><span class="identifier">key_</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="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">value_container_value</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span> <a class="co" name="boost_assign8co" href="put.html#boost_assign8"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">C</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">(</span> <span class="identifier">map</span><span class="special">,</span> <span class="identifier">T</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">T</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">T</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">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</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>
+ Same as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">key_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example4</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>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.delay_csv_put"></a><a class="link" href="put.html#boost_assign.reference.put.delay_csv_put" title="Delay_csv_put">Delay_csv_put</a>
+</h4></div></div></div>
+<a name="delay_csv_put"></a><a name="boost_assign.reference.put.delay_csv_put.header"></a><h6>
+<a name="id36365811"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_csv_put.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/delay_csv_put.hpp
+ </p>
+<a name="boost_assign.reference.put.delay_csv_put.description"></a><h6>
+<a name="id36365842"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_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.delay_csv_put.synopsis"></a><h6>
+<a name="id36365873"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_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">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">delayed_csv_put</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">&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">delayed_csv_put</span><span class="special">&lt;</span><span class="identifier">R</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">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">delayed_csv_put</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">rhs</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="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">delay_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">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">delay_csv_put</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">delay_csv_put</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</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">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">delay_csv_put</span><span class="special">&lt;</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">O</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">delay_csv_put</span><span class="special">(</span><span class="identifier">O</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">options</span><span class="special">,</span> <span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</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">delay_csv_put</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">delay_csv_put</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.delay_csv_put.semantics"></a><h6>
+<a name="id36366648"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_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">delay_csv_put</span><span class="special">(</span> r <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">(</span> cont<span class="special">,</span>
+ as_arg_list<span class="special">(</span> r <span class="special">)</span>
+ <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">delay_csv_put</span><span class="special">(</span> option1 % ... % optionm<span class="special">,</span>
+ r <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">(</span> cont<span class="special">,</span>
+ _option <span class="special">%</span> option1 % ... % optionm<span class="special">,</span> as_arg_list<span class="special">(</span>
+ r <span class="special">)</span> <span class="special">);</span>
+ <span class="keyword">return</span> cont</code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ If <code class="computeroutput">cont</code> is a map, <code class="computeroutput">put<span class="special">(</span>
+ cont <span class="special">)</span></code>, in the above table, is in
+ fact internally replaced by <code class="computeroutput">put<span class="special">(</span>
+ cont <span class="special">)</span> <span class="special">%</span>
+ <span class="special">(</span> _data <span class="special">=</span>
+ _value <span class="special">)</span></code>.
+ </p>
+<a name="boost_assign.reference.put.delay_csv_put.example"></a><h6>
+<a name="id36366938"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_csv_put.example">Example</a>
+ </h6>
+<a name="ex_delay_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">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">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">as2</span><span class="special">::</span><span class="identifier">delay_csv_put</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">word_</span><span class="special">&gt;(</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="special">),</span>
+ <span class="identifier">benchmark</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</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">(</span> <span class="identifier">cb</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">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">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">delay_csv_put</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="id36367696"></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="id36367726"></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="id36367748"></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="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">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</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>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.put.semantics"></a><h6>
+<a name="id36369018"></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="id36369059"></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="keyword">double</span> <span class="identifier">data_</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">data_</span><span class="special">&gt;</span> <span class="identifier">uneven_</span><span class="special">;</span>
+<span class="identifier">uneven_</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">uneven_</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="specia
l">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">uneven_</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>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="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="keyword">int</span> <span class="identifier">code_</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">state_</span><a class="co" name="boost_assign9co" href="put.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">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">put</span><span class="special">(</span> <span class="identifier">region</span> <span class="special">)</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="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="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">boost</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">boost</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>
+</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 <span class="bold"><strong>reference</strong></span>
+ </p></td>
+</tr></table></div>
+<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">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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,716 @@
+<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="id36370916"></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="id36370992"></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="id36371033"></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="id36371063"></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="id36371086"></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">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">nil_</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span> <span class="identifier">nil_</span> <span class="special">)</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="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="id36371676"></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="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>
+</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="id36372373"></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="id36372458"></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="id36372486"></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_assign10co" href="ref.html#boost_assign10"><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_assign10"></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="id36372734"></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="id36372818"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.description">Description</a>
+ </h6>
+<p>
+ Csv form
+ </p>
+<a name="boost_assign.reference.ref.array.csv_array.synopsis"></a><h6>
+<a name="id36372840"></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">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">nil_</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span> <span class="identifier">nil_</span> <span class="special">)</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>
+<a name="boost_assign.reference.ref.array.csv_array.example"></a><h6>
+<a name="id36373410"></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="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 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">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>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><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">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">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.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="id36374462"></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="id36374547"></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="id36374596"></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="id36375146"></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="id36375737"></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="id36375821"></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="id36375844"></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="id36376520"></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="id36376562"></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="id36376638"></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="id36376675"></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="id36376895"></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="id36376917"></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="id36377667"></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="id36378121"></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="id36378205"></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="id36378227"></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="id36379555"></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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,306 @@
+<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="id36379594"></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="id36379621"></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="id36379664"></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="id36379876"></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="id36379911"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.config.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_ARITY</span> <em class="replaceable"><code>unspecified</code></em>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_CSV_ARITY</span> <em class="replaceable"><code>unspecified</code></em>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY</span> <em class="replaceable"><code>unspecified</code></em>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.support.config.semantics"></a><h6>
+<a name="id36379979"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.config.semantics">Semantics</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Constant
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_ASSIGN_V2_LIMIT_ARITY</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MPL_LIMIT_METAFUNCTION_ARITY</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A functor's max # of arguments
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_ASSIGN_V2_LIMIT_CSV_ARITY</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 20
+ </p>
+ </td>
+<td>
+ <p>
+ Limits a csv-function's max # of arguments
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_ASSIGN_V2_LIMIT_LVALUE_CONST_ARITY</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ A functor's max # of arguments for which any mixture of lvalue
+ and const-lvalues is preserved <sup>[<a name="id36380134" href="#ftn.id36380134" class="footnote">a</a>]</sup>
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="3"><div class="footnote"><p><sup>[<a name="ftn.id36380134" href="#id36380134" class="para">a</a>] </sup>
+ Beyond this limit, arguments are treated as either all lvalues
+ or all const-lvalues.
+ </p></div></td></tr></tbody>
+</table></div>
+</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="id36380169"></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="id36380200"></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="id36380233"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.keyword.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">keyword_aux</span><span class="special">{</span>
+
+ <span class="keyword">struct</span> <span class="identifier">ignore</span><span class="special">{</span>
+ <span class="identifier">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">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">element</span><span class="special">;</span>
+ <span class="keyword">struct</span> <span class="identifier">key</span><span class="special">;</span>
+ <span class="keyword">struct</span> <span class="identifier">map</span><span class="special">;</span>
+ <span class="keyword">struct</span> <span class="identifier">nil</span><span class="special">;</span>
+ <span class="keyword">struct</span> <span class="identifier">use_default</span><span class="special">;</span>
+ <span class="keyword">struct</span> <span class="identifier">value</span><span class="special">;</span>
+
+<span class="special">}//</span><span class="identifier">keyword_aux</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">ignore</span> <span class="identifier">ignore_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">element</span> <span class="identifier">element_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">key</span> <span class="identifier">key_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">map</span> <span class="identifier">map_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">nil</span> <span class="identifier">nil_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">use_default</span> <span class="identifier">use_default_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">keyword_aux</span><span class="special">::</span><span class="identifier">value</span> <span class="identifier">value_</span><span class="special">;</span>
+
+ <span class="keyword">const</span> <span class="identifier">ignore_</span> <span class="identifier">_ignore</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">element_</span> <span class="identifier">_element</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">key_</span> <span class="identifier">_key</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">map_</span> <span class="identifier">_map</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">nil_</span> <span class="identifier">_nil</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">use_default_</span> <span class="identifier">_use_default</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">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="id36380785"></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="id36380822"></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="id36380853"></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="id36380876"></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="id36381054"></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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,407 @@
+<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="id36332160"></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="id36332232"></a>
+ <a class="link" href="tut.html#boost_assign.tut.put">Put</a>
+ </h4>
+<p>
+ A recap of the <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>'s
+ example is in order : the <span class="emphasis"><em>interpreter</em></span> returned by <a class="link" href="reference/put.html#put"><code class="computeroutput">put</code></a> is variadic and
+ </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>. See
+ <a class="link" href="reference/interpreter.html#data_gen_rules">here</a> for further detail.
+ </li>
+<li class="listitem">
+ it relies on an appropriate <span class="emphasis"><em>modifier</em></span>, <code class="computeroutput"><span class="identifier">insert</span></code> in case of a map, based on a set
+ of <a class="link" href="reference/interpreter.html#modifier_rules">rules</a>, such that the interface
+ is uniform across different container categories.
+ </li>
+</ul></div>
+<a name="boost_assign.tut.csv_syntax"></a><h4>
+<a name="id36332307"></a>
+ <a class="link" href="tut.html#boost_assign.tut.csv_syntax">Csv syntax</a>
+ </h4>
+<p>
+ Consider this example:
+ </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">16</span><span class="special">&gt;</span> <span class="identifier">keypad</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="identifier">csv_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="identifier">as_arg_list</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">)</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_assign1"></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="number">0</span> <span class="special">)...(</span>
+ <span class="number">9</span> <span class="special">)</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ Prefix <code class="computeroutput"><span class="identifier">csv</span></code><sup>[<a name="id36332829" href="#ftn.id36332829" class="footnote">4</a>]</sup> indicates an <a class="link" href="reference/put.html#csv_put">alternative syntax</a>
+ that is dual to a functor, as can be seen from the equivalent code marked by
+ a small icon (callout).
+ Other names starting with <span class="emphasis"><em>csv</em></span> are treated similarly.
+ </p>
+<p>
+ Another thing to notice is that the last argument (in this example) is a range,
+ <code class="computeroutput"><span class="identifier">numeric</span></code>, with a special wrapper
+ around it, <code class="computeroutput">as_arg_list</code>. The latter instructs the interpreter to
+ scan the range's elements, and process each as if passed as an individual argument.
+ </p>
+<a name="boost_assign.tut.pipe_syntax"></a><h4>
+<a name="id36332883"></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">delay_csv_put</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>.
+ </p>
+<a name="boost_assign.tut.container_generation"></a><h4>
+<a name="id36333232"></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>
+<a name="tut_empty"></a><p>
+ In keeping with our previously established <span class="emphasis"><em>csv</em></span> convention,
+ container generating function <a class="link" href="reference/deque.html#csv_deque"><code class="computeroutput">csv_deque</code></a>
+ is paired with a functor form, <a class="link" href="reference/deque.html#deque"><code class="computeroutput">deque</code></a>.
+ Another convention, that 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, each of <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> generates
+ a container whose only element is default constructed.
+ </p>
+<a name="boost_assign.tut.pointer_containers"></a><h4>
+<a name="id36333581"></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_assign2co" href="tut.html#boost_assign2"><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_assign2"></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="id36333887"></a>
+ <a class="link" href="tut.html#boost_assign.tut.options">Options</a>
+ </h4>
+<p>
+ An option overrides the default semantics that are described under heading
+ <span class="bold"><strong>Put</strong></span>, above.
+ </p>
+<p>
+ The automatically deduced data-generator can be overriden, such as follows:
+ </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_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">exponent</span>
+ <span class="special">,</span> <span class="identifier">_option</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_assign3"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Equivalent to <code class="computeroutput"><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="special">...(</span> <span class="number">10000.0</span> <span class="special">)</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ In place of a functor, <code class="computeroutput">_data</code> can be set to a keyword : <code class="computeroutput">_key</code>,
+ <code class="computeroutput">_element</code>, <code class="computeroutput">_mapped</code>, and <code class="computeroutput">_value</code>. With
+ <code class="computeroutput">_data <span class="special">=</span> _value</code> the resulting data-generator
+ creates an object of type the value-type of the container <sup>[<a name="id36334449" href="#ftn.id36334449" class="footnote">5</a>]</sup>, and likewise for the other keywords.
+ </p>
+<p>
+ The modifier can be explicitly specified, such as follows:
+ </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">delay_csv_put</span><span class="special">(</span> <span class="identifier">_option</span> <span class="special">%</span> <span class="identifier">_push_front</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">2</span><span class="special">,</span> <span class="number">1</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">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>
+ Only the form <code class="computeroutput">csv_put</code> (and its delayed variant) requires the use
+ of keyword <code class="computeroutput">_option</code>. Composing <code class="literal">m</code> options is
+ achieved as follows : <code class="computeroutput">option1 % ... % optionm</code>. Extending the library
+ with a new modifier-option is facilitated by <a class="link" href="reference/option.html#modifier_macro">macros</a>
+ that manage the overhead.
+ </p>
+<p>
+ See section <a class="link" href="reference/option.html" title="Option">Option</a>
+ for a comprehensive description.
+ </p>
+<a name="boost_assign.tut.reference_arrays"></a><h4>
+<a name="id36334709"></a>
+ <a class="link" href="tut.html#boost_assign.tut.reference_arrays">Reference arrays</a>
+ </h4>
+<p>
+ In the examples that precede, <a class="link" href="reference/ref.html#ref_csv_array"><code class="computeroutput">ref::csv_array</code></a>,
+ which returns a reference-array, could be substituted for <code class="computeroutput">csv_deque</code>.
+ The reciprocal is not true, in general. A reference-array is preferable if
+ the values are expensive to copy, and it is necessary for working specifically
+ with references, such as as follows:
+ </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>
+ In this example, an implicit conversion takes place, from each of the reference-array's
+ element (a reference wrapper) to the reference it holds. 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. The latter is achieved by 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>, as illustrated
+ in the next item of this tutorial.
+ </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="id36334989"></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>
+ It is noteworthy that 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 an rvalue.
+ </p>
+<a name="boost_assign.tut.conversion"></a><h4>
+<a name="id36335595"></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 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> <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>
+<p>
+ Notice, indeed, 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.
+ The conversion above is implicit, and is made possible by a conversion operator
+ fitted to the object returned by <code class="computeroutput">converter</code>. Sometimes, <a class="link" href="reference/conversion.html#convert">explicit
+ conversion</a> is unavoidable and, continuing the above snippet, is illustrated
+ 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>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36332829" href="#id36332829" class="para">4</a>] </sup>
+ <span class="emphasis"><em>csv</em></span> stands for comma separated values
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36334449" href="#id36334449" class="para">5</a>] </sup>
+ To understand how this applies to a 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-05-08 12:02:10 EDT (Sun, 08 May 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/interpreter.html
+boost_assign_v2/reference/include.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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,228 @@
+<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">Chain</span></dt>
+<dt><span class="section">Logical_and</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>
+<dt><span class="section">Deque</span></dt>
+</dl></dd>
+<dt><span class="section">Interpreter</span></dt>
+<dd><dl>
+<dt><span class="section">As_arg_list</span></dt>
+<dt><span class="section">Crtp</span></dt>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+</dl></dd>
+<dt><span class="section">Include</span></dt>
+<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>
+<dt><span class="section">Delay_csv_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 library is an upgrade of <a href="../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ 1.0</a> that redefines its functionality, with optional C++0x support and
+ new features. It expresses repetitive statements for assigning or inserting
+ elements via a basic grammar <sup>[<a name="id36330894" href="#ftn.id36330894" class="footnote">1</a>]</sup>:
+ </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_assign_v20co" href="index.html#boost_assign_v20"><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_assign_v20"></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>
+ The above example catpures the basic aspects of this library:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The <span class="emphasis"><em>interpreter</em></span> returned by <a class="link" href="boost_assign_v2/reference/put.html" title="Put"><code class="computeroutput">put</code></a>
+ forwards its arguments to a <span class="emphasis"><em>data-generator</em></span>
+ </li>
+<li class="listitem">
+ The result is inserted in the container, by invoking a modifier which is
+ deduced from the container's type, such that <a class="link" href="boost_assign_v2/reference/put.html" title="Put"><code class="computeroutput">put</code></a>
+ works uniformly across different container categories. See supported <a class="link" href="boost_assign_v2/apx/cont.html#containers">containers</a>.
+ </li>
+</ul></div>
+<p>
+ Related features include:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Operator <code class="computeroutput"><span class="special">%</span></code> is used for passing
+ options that override the default behavior described above. <a class="link" href="boost_assign_v2/reference/option.html#option_modifier">Macros</a>
+ are provided to create new options.
+ </li>
+<li class="listitem">
+ Operator <code class="computeroutput"><span class="special">|</span></code> expresses a <span class="emphasis"><em>piping</em></span>
+ alternative to <code class="computeroutput">put</code> i.e. it 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>.
+ </li>
+<li class="listitem">
+ A variant of <code class="computeroutput">put</code>, <a class="link" href="boost_assign_v2/reference/deque.html" title="Deque"><code class="computeroutput"><span class="identifier">deque</span><span class="special">&lt;&gt;</span></code></a>,
+ generates a container.
+ </li>
+</ul></div>
+<p>
+ Functionality that is adjunct to or independent of <span class="emphasis"><em>put</em></span>
+ 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, delineated by 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>
+</div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id36330894" href="#id36330894" class="para">1</a>] </sup>
+ It may help to look at std::string's
+ overloaded constructors
+ </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: May 08, 2011 at 15:57:36 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-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,172 @@
+[tpl_module
+ [@../../../../../boost/assign/v2/interpreter.hpp `boost/assign/v2/interpreter.hpp`]
+ ..Interpreter framework
+]
+
+[section:as_arglist As_arg_list]
+
+[import ../../../../boost/assign/v2/interpreter/as_arg_list.hpp]
+
+[tpl_feature
+ [@../../../../../boost/assign/v2/interpreter/as_arg_list.hpp `boost/assign/v2/interpreter/as_arg_list.hpp`]
+ ..Range wrapper that tells an interpreter to process each its element individually
+ ..[syntax_interpreter_as_arg_list]
+ ..None
+]
+
+[endsect][/as_arglist]
+[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: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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,38 @@
+
+[def __option_data_gen__ Option to replace an interpreter's data generator]
+[def __option_std_modifier__ Standard modifier option]
+
+[import ../test/option/mapped.cpp]
+
+
+[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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,31 @@
+[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_option_data_math]
+
+[*Example2]
+[test_option_data_recursive]
+
+[*Example3]
+[test_option_data_value]
+
+Also see Example2 of section [link option_mapped Mapped]
+
+

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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,221 @@
+[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__`
+ ..[test_option_iterate_shifted]
+]
+
+[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_option_mapped_deque]
+ [*Example 2]
+ [test_option_mapped_map]
+]
+
+[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_option_repeat_simple]
+ [*Example2]
+ [test_option_repeat_compose]
+]
+
+[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_option_row_major]
+]
+
+[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()`]]
+]
+
+[*Example]
+[import ../test/option/std_modifier.cpp]
+[test_option_push_front]
+
+[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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,56 @@
+[#org]
+
+[heading Headers]
+
+[#org_headers]
+
+Using a given feature of this library requires no more than including the corresponding header file. To find it, one can look inside
+either the organization by module or the one by identifier :
+
+* In directory [@../../../../../boost/assign/v2 `boost/assign/v2`], headers
+and directories (except [^include]) are organized according to the modular structure of this library. The following 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].
+
+* In directory [@../../../../../boost/assign/v2/include `boost/assign/v2/include`] headers are named after an identifier that they define[footnote
+Excepted [^option.hpp], which includes ['all] the options. Creating, instead, a header for each option would have obfuscated the organization]. The
+following statement
+``
+ #include <boost/assign/v2/include.hpp>
+``
+defines all the identifiers, and is equivalent to the previous include statement.
+
+* The content of the library prior to upgrade 2.0 (above) is included in a project as follows:
+``
+ #include <boost/assign.hpp>
+``
+
+This prior [tpl_boost_assign_v1 library], whose version we (retrospectively) label 1.0, is a separate entity from that versioned 2.0.
+Consequently, it's possible to use both in the same projet without risking a clash, but it's probably more coherent to stick to just one version.
+
+[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
+``
\ No newline at end of file

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/perf.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/perf.qbk 2011-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,209 @@
+[#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_pipe_put]
+ [`cont | v2::delay_put( arg1 )...( argm )`]
+ ]
+ [
+ [v2_csv_put]
+ [`v2::csv_put( cont, args... )`]
+ ]
+ [
+ [v2_delay_csv_put]
+ [`cont | v2::delay_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...)`]
+ ]
+]
+
+[*Results]
+``
+{k, n, m}
+{method, min, average, max, cumulative}
+
+{12800, 100, 1},
+{stl_push_back, 0.013, 0.014, 0.028, 183.0},
+{v1_push_back, 0.030, 0.033, 0.048, 419.9},
+{v2_put, 0.014, 0.015, 0.026, 194.1},
+{v2_csv_put, 0.014, 0.015, 0.030, 192.5},
+{v2_delay_csv_put, 0.013, 0.014, 0.024, 184.4},
+{v1_list_of, 0.120, 0.124, 0.170, 1588.0},
+{v2_deque, 0.100, 0.104, 0.143, 1332.9},
+{v2_csv_deque, 0.042, 0.045, 0.067, 579.1},
+{v1_cref_list_of, 0.000, 0.001, 0.007, 17.9},
+{v2_ref_array, 0.002, 0.004, 0.009, 47.9},
+{v2_ref_csv_array, 0.000, 0.001, 0.004, 18.0}
+}
+{
+{6400, 100, 2},
+{stl_push_back, 0.033, 0.035, 0.056, 225.2},
+{v1_push_back, 0.080, 0.083, 0.110, 529.6},
+{v2_put, 0.035, 0.036, 0.060, 233.5},
+{v2_csv_put, 0.035, 0.036, 0.056, 231.5},
+{v2_delay_csv_put, 0.034, 0.036, 0.049, 230.8},
+{v1_list_of, 0.178, 0.185, 0.236, 1182.1},
+{v2_deque, 0.139, 0.141, 0.205, 905.1},
+{v2_csv_deque, 0.072, 0.075, 0.100, 481.6},
+{v1_cref_list_of, 0.000, 0.001, 0.002, 9.0},
+{v2_ref_array, 0.005, 0.006, 0.010, 38.3},
+{v2_ref_csv_array, 0.001, 0.002, 0.005, 12.3}
+}
+{
+{3200, 100, 4},
+{stl_push_back, 0.092, 0.095, 0.104, 304.9},
+{v1_push_back, 0.244, 0.253, 0.331, 808.2},
+{v2_put, 0.095, 0.100, 0.148, 320.8},
+{v2_csv_put, 0.096, 0.100, 0.116, 321.2},
+{v2_delay_csv_put, 0.093, 0.096, 0.118, 307.6},
+{v1_list_of, 0.327, 0.339, 0.747, 1085.2},
+{v2_deque, 0.211, 0.215, 0.257, 687.6},
+{v2_csv_deque, 0.145, 0.149, 0.221, 475.6},
+{v1_cref_list_of, 0.000, 0.001, 0.014, 4.6},
+{v2_ref_array, 0.012, 0.013, 0.026, 42.0},
+{v2_ref_csv_array, 0.001, 0.002, 0.012, 7.4}
+}
+{
+{1600, 100, 8},
+{stl_push_back, 0.282, 0.289, 0.315, 462.0},
+{v1_push_back, 0.519, 0.528, 0.588, 845.4},
+{v2_put, 0.270, 0.276, 0.317, 440.9},
+{v2_csv_put, 0.273, 0.282, 0.338, 451.3},
+{v2_delay_csv_put, 0.267, 0.273, 0.304, 437.4},
+{v1_list_of, 0.624, 0.635, 0.687, 1015.7},
+{v2_deque, 0.389, 0.396, 0.436, 632.9},
+{v2_csv_deque, 0.316, 0.323, 0.364, 517.4},
+{v1_cref_list_of, 0.000, 0.001, 0.004, 2.3},
+{v2_ref_array, 0.038, 0.039, 0.055, 63.0},
+{v2_ref_csv_array, 0.002, 0.003, 0.006, 5.3}
+}
+{
+{800, 100, 16},
+{stl_push_back, 0.650, 0.658, 0.706, 526.1},
+{v1_push_back, 1.156, 1.172, 1.258, 937.2},
+{v2_put, 0.670, 0.677, 0.741, 541.4},
+{v2_csv_put, 0.670, 0.677, 0.729, 541.3},
+{v2_delay_csv_put, 0.661, 0.669, 0.741, 535.4},
+{v1_list_of, 1.263, 1.274, 1.379, 1018.9},
+{v2_deque, 0.796, 0.813, 0.913, 650.6},
+{v2_csv_deque, 0.719, 0.731, 0.788, 584.4},
+{v1_cref_list_of, 0.000, 0.001, 0.004, 1.1},
+{v2_ref_array, 0.122, 0.125, 0.148, 99.8},
+{v2_ref_csv_array, 0.004, 0.005, 0.008, 4.2}
+}
+{
+{400, 100, 32},
+{stl_push_back, 1.252, 1.266, 1.343, 506.5},
+{v1_push_back, 2.316, 2.332, 2.439, 932.9},
+{v2_put, 1.292, 1.302, 1.400, 520.8},
+{v2_csv_put, 1.282, 1.294, 1.364, 517.6},
+{v2_delay_csv_put, 1.262, 1.273, 1.335, 509.3},
+{v1_list_of, 2.395, 2.411, 2.612, 964.4},
+{v2_deque, 1.398, 1.409, 1.489, 563.7},
+{v2_csv_deque, 1.322, 1.339, 1.406, 535.4},
+{v1_cref_list_of, 0.004, 0.005, 0.007, 2.1},
+{v2_ref_array, 0.521, 0.538, 0.599, 215.0},
+{v2_ref_csv_array, 0.026, 0.027, 0.039, 11.0}
+}
+``
+[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-05-08 12:02:10 EDT (Sun, 08 May 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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,117 @@
+
+[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__ [^r71798]]
+[def __ms_as2_rev__ [^r71798]]
+[def __ubu_as2_rev__ [^r71798]]
+
+[tpl_test Here] is 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
+MSVC
+ bjam toolset=msvc-10.0 variant=debug,release cflags=-D_SCL_SECURE_NO_WARNINGS
+
+]
+
+[table
+ [
+ [ OS]
+ [ Compiler ]
+ [ Option(s) ]
+ [__boost__]
+ [ Test ]
+ [ __boost_assign_v2__ ]
+ ]
+ [
+ [ __osx__]
+ [ gcc-4.0 ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __ok__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ __osx__]
+ [ gcc-4.2 ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __ok__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [/
+ [ __osx__]
+ [ __llvm_15__ ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ Errors (find [^BUG] in test files) ]
+ [ [^69575] ]
+ ]
+ [
+ [ Unix (__url_fink__ ) ]
+ [ gcc-4.4 ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __ok__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ Unix (__url_fink__ ) ]
+ [ gcc-4.4 ]
+ [ __cpp0x__ ]
+ [ __osx_boost_rev__ ]
+ [ __ok__ ]
+ [ __osx_as2_rev__ ]
+ ]
+ [
+ [ __ubuntu__ ]
+ [ gcc-4.4 ]
+ [ ]
+ [ __ubu_boost_rev__ ]
+ [ __ok__ ]
+ [ __ubu_as2_rev__ ]
+ ]
+ [
+ [ __ubuntu__ ]
+ [ gcc-4.4 ]
+ [ __cpp0x__ ]
+ [ __ubu_boost_rev__ ]
+ [ __ok__ ]
+ [ __ubu_as2_rev__ ]
+ ]
+ [
+ [ __ubuntu__ ]
+ [ __icc__ ]
+ [ ]
+ [ __osx_boost_rev__ ]
+ [ __ok__ ]
+ [ __ubu_as2_rev__ ]
+ ]
+ [
+ [ __ms__ ]
+ [ __msvc__ ]
+ [ ]
+ [ __ms_boost_rev__]
+ [ __ok__[/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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,123 @@
+[import ../test/put/ptr.cpp]
+[import ../test/put/put.cpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put.hpp [^boost/assign/v2/put.hpp]]
+
+[heading Description]
+Interpreter for modifying 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__
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/csv_put.hpp]
+[syntax_csv_put]
+
+[heading Semantics]
+
+[table
+ [
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__fun_csv_put__(__cont__, __args__)`]
+ [`__fun_put__( __cont__ )( __arg__1 ) ...( __argn__ )`]
+ ]
+ [
+ [`__fun_csv_put__(__cont__, __kwd_option__ % __compose_options__, __args__)`]
+ [`( __fun_put__( __cont__ ) % __compose_options__ )( __arg__1 ) ...( __argn__ )`]
+ ]
+]
+
+[heading Example]
+
+[#ex_csv_put]
+
+[*Example1]
+[test_csv_put_keypad]
+[*Example2]
+[test_csv_put_bitset]
+[*Example3]
+[test_csv_put_ptr_map]
+[*Example4]
+[test_csv_put_multi_array]
+
+[endsect][/csv_put]
+[section:delay_csv_put Delay_csv_put]
+[#delay_csv_put]
+
+[heading Header]
+[@../../../../../boost/assign/v2/put/delay_csv_put.hpp [^boost/assign/v2/put/delay_csv_put.hpp]]
+
+[heading Description]
+Piping version of [link csv_put `__fun_csv_put__`]
+
+[heading Synopsis]
+[import ../../../../boost/assign/v2/put/delay_csv_put.hpp]
+[syntax_delay_csv_put]
+
+[heading Semantics]
+
+[table
+ [
+ [Expression]
+ [Description]
+ ]
+ [
+ [`__cont__ | delay_csv_put( __range__ )`]
+ [`__fun_csv_put__( __cont__, __fun_as_arg_list__( __range__ ) ); return __cont__`]
+ ]
+ [
+ [`__cont__ | delay_csv_put( __compose_options__, __range__ )`]
+ [`__fun_csv_put__( __cont__, __kwd_option__ % __compose_options__, __fun_as_arg_list__( __range__ ) ); return __cont__`]
+ ]
+]
+
+If `__cont__` is a map, `__fun_put__( __cont__ )`, in the above table, is in fact internally replaced by `__fun_put__( __cont__ ) % ( __kwd_data__ = __kwd_value__ )`.
+
+[heading Example]
+
+[#ex_delay_csv_put]
+
+[*Example1]
+[test_delay_csv_put_unordered_set]
+[*Example2]
+[test_delay_csv_put_cb]
+
+[endsect][/delay_csv_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_put_ragged]
+[*Example2]
+[test_put_area_codes]
+[*Example3]
+[test_put_ptr_unordered_map]
+
+[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-05-08 12:02:10 EDT (Sun, 08 May 2011)
@@ -0,0 +1,154 @@
+[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]
+[tip The [link ref_csv_array csv-form] is faster. See the [link perf performance] table.]
+
+[heading Example]
+[*Example 1]
+[test_ref_array_read]
+
+[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]
+
+[heading Example]
+[*Example 1]
+[test_ref_csv_array_read]
+[*Example 2]
+[test_ref_csv_array_write]
+[*Example 3]
+[test_ref_csv_array_assign]
+
+[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-05-08 12:02:10 EDT (Sun, 08 May 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