Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72370 - in sandbox/assign_v2/libs/assign/v2/doc_copy: . html html/boost_assign_v2 html/boost_assign_v2/apx html/boost_assign_v2/reference src src/images src/images/callouts
From: erwann.rogard_at_[hidden]
Date: 2011-06-02 22:14:07


Author: e_r
Date: 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
New Revision: 72370
URL: http://svn.boost.org/trac/boost/changeset/72370

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

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

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/boost_assign_v2.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/boost_assign_v2.qbk 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,427 @@
+[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_convert__ convert]
+[def __fun_csv__ csv]
+[def __fun_csv_deque__ csv_deque]
+[def __fun_csv_put__ csv_put]
+[def __fun_deque__ deque]
+[def __fun_delay_csv_put__ delay_csv_put]
+[def __fun_delay_put__ delay_put]
+[def __fun_new__ new_ptr]
+[def __fun_ref_array__ ref::array]
+[def __fun_ref_csv_array__ ref::csv_array]
+[def __fun_put__ put]
+[def __generate__ generate]
+[def __invoke_options__ % option1 ... % optionm]
+[def __compose_options__ option1 % ... % optionm]
+[def __interpreter__ interpreter]
+[def __key__ k]
+[def __key_type__ K]
+[def __kwd_chain__ _chain]
+[def __kwd_data__ _data]
+[def __kwd_element__ _element]
+[def __kwd_ref_get__ ref::_get]
+[def __kwd_identity__ _identity]
+[def __kwd_insert__ _insert]
+[def __kwd_iterate__ _iterate]
+[def __kwd_key__ _key]
+[def __kwd_mapped__ _mapped]
+[def __kwd_nil__ _nil]
+[def __kwd_push__ _push]
+[def __kwd_push_back__ _push_back]
+[def __kwd_push_front__ _push_front]
+[def __kwd_put__ _put]
+[def __kwd_option__ _option]
+[def __kwd_repeat__ _repeat]
+[def __kwd_row_major__ _row_major]
+[def __kwd_std_modifier__ _std_modifier]
+[def __kwd_use_default__ _use_default]
+[def __kwd_value__ _value]
+[def __list_options__ o1, ..., om]
+[def __mapped__ d]
+[def __mapped_type__ D]
+[def __modifier_tag__ '''<replaceable>modifier-tag</replaceable>''']
+[def __option_modifier__ option-modifier]
+[def __option_arg__ '''<replaceable>option-arg</replaceable>''']
+[def __modulo__ `operator%`]
+[def __ns_as2__ boost::assign::v2]
+[def __object__ object]
+[def __object_data_generator__ data-generator]
+[def __object_interpreter__ interpreter]
+[def __object_modifier__ modifier]
+[def __option__ option]
+[def __operator_and__ `operator&&`]
+[def __pipe__ `operator|`]
+[def __pipe_form__ Pipe form]
+[def __range__ r]
+[def __range_type__ R]
+[def __ref_wrapper__ w]
+[def __ref_array__ rw]
+[def __unspecified__ '''<replaceable>unspecified</replaceable>''']
+[def __value__ t]
+[def __value_n__ [tpl_join __value__..n]]
+[def __value_type__ T]
+[def __values__ __value__...]
+
+[section:intro Introduction]
+[import ../tutorial.cpp]
+[#intro]
+
+This library is an upgrade of __url_boost_assign_v1__ that redefines its functionality, with optional C++0x support
+and new features. It is a compact interface for executing repetitive tasks involing assignment or insertion of elements,
+such as follows:
+[test_delay_csv_put_map]
+
+This example captures the basic features of this library:
+
+* An underlying compile-time mechanism that determines an appropriate way to map arguments to a suitable data element,
+and which of the container's modifier to invoke
+* Operator `|` returns the modified container, thereby facilitating integration with [tpl_range_algo range algorithms]. There is
+a function, `__fun_csv_put__`, that achieves the same as above, but without returning the container.
+
+Additional features include:
+
+* [link boost_assign_v2.reference.option Options] for overriding default semantics, and [link option_modifier macros] to create custom options
+* A functor analogue of `__fun_csv_put__`, `__fun_put__`, for constructing a sequence of elements from variadic argument lists
+* Two functions, [link boost_assign_v2.reference.deque `__fun_csv_deque__<>`] and
+[link boost_assign_v2.reference.deque `deque<>`], which are the analogues of those just described, but which generate a container.
+
+Functionality that is adjunct to or independent of what precedes is itemized below:
+
+* [link boost_assign_v2.reference.chain Chaining] ranges, with special consideration for those created using the ['ref] functionalty (below)
+* [link boost_assign_v2.reference.conversion Conversion] from ranges to containers
+* A framework, whose identifiers are in namespace [link boost_assign_v2.reference.ref `ref`], for generating an [tpl_boost_array array]
+of reference wrappers, for short, a ['reference-array].
+
+[endsect][/intro]
+
+[def __link_org__ [link boost_assign_v2.org Organization]]
+
+[section:org Organization]
+[include org.qbk]
+[endsect][/org]
+
+
+[section:tut Tutorial]
+[include tut.qbk]
+[endsect][/tut]
+
+[section:reference Reference]
+
+[heading Conventions]
+
+This reference adheres to conventions laid out [link doc_conv here].
+
+[section:chain Chain]
+[include chain.qbk]
+[endsect][/chain]
+
+[section:conversion Conversion]
+[#conversion]
+[include conversion.qbk]
+[endsect][/conversion]
+
+[section:deque Deque]
+[include deque.qbk]
+[endsect][/deque]
+
+[section:include Include]
+[include include.qbk]
+[endsect][/include]
+
+[section:interpreter Interpreter]
+[include interpreter.qbk]
+[endsect][/ interpreter]
+
+[section:option Option]
+[include option.qbk]
+[endsect][/option]
+
+[section:put Put]
+[include put.qbk]
+[endsect][/put]
+
+[section:ref Ref]
+[include ref.qbk]
+[endsect][/ref]
+
+[section:support Support]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/support.hpp boost/assign/v2/detail/support.hpp]
+ ..Functionality that supports various parts of the library
+]
+
+[section:config Config]
+[include config.qbk]
+[endsect][/config]
+
+[section:keyword Keyword]
+[include support_keyword.qbk]
+[endsect][/keyword]
+
+[section:traits Traits]
+[include support_traits.qbk]
+[endsect][/traits]
+
+[endsect][/ support]
+
+[endsect][/reference]
+
+[section:apx Appendix]
+[section:acknow Acknowledgement]
+
+[heading __boost_assign_v1__]
+
+The idea for an assignment/initialization library is not new. The functionality of this library
+resembles Leor Zolman's STL Container Initialization Library a great deal, but it does not rely on
+string parsing to achieve its goals.
+
+Special thanks to
+
+* Leor Zolman for our many discussion that eventually led to this library.
+* Tom Brinkman for being review manager.
+* Joaquín Muñoz for vc6/vc7 portability.
+* Pavel Vozenilek for his countless suggestions, improvements and portability fixes.
+* Rene Rivera for Code Warrior portability.
+
+The following books have helped or were influential:
+
+* Scott. Meyers, "More Effective C++", Item 7, Addison Wesley, 1996
+* K. Czarnecki and U.W. Eisenecker, "Generative programming", Addison-Wesley, 2000
+* [@http://www.oonumerics.org/blitz/ Blitz]
+* Gabriel Dos Reis and Bjarne Stroustrup,
+ [@http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1509.pdf Generalized Initializer Lists], 2003
+
+
+[heading __boost_assign_v2__ ]
+
+Evidently, __boost_assign_v2__ owes much to __boost_assign_v1__, but it is also influenced by [tpl_range Boost.Range] ([link chain chaining] and piping).
+
+Special thanks to
+
+* Manuel Peinado Gallego whose [@http://gist.github.com/287791 work] and discussions have
+inspired the changes proposed in the __url_boost_assign_v2_mini_review__.
+* Thorsten Ottosen and John Bytheway have shaped this new version of the library and its documentation, through their feedback as review managers of the
+__url_boost_assign_v2_mini_review__ and the main review, respectively.
+
+The following books have helped or were influential:
+
+* Abrahams, David and Gurtovoy, Aleksey,
+ [@http://portal.acm.org/citation.cfm?id=1044941# C++ Template Metaprogramming]: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series),
+ 2004, Addison-Wesley Professional.
+
+[endsect][/ history_ano]
+[section:change_log Change_log]
+[include change_log.qbk]
+[endsect][/change_log]
+[section:cont Containers]
+[include containers.qbk]
+[endsect][/endsect]
+[section:conv Doc conventions]
+[include conv.qbk]
+[endsect][/conv]
+[section:perf Performance]
+[include perf.qbk]
+[endsect][/perf]
+[section:port Portability]
+[include port.qbk]
+[endsect][/port]
+[section:support Support]
+
+To get help or make a suggestion, post to the __user_mailing_list__, making sure to notify
+__TO__ and __ER__ by cc-ing them.
+
+[endsect][/support]
+[endsect][/apx]
\ No newline at end of file

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

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/chain.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/chain.qbk 2011-06-02 22:14:02 EDT (Thu, 02 Jun 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_chain1]
+[*Example 2]
+[test_chain2]
+
+[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_chain3]
+
+[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-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,34 @@
+[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 using overlads (Solution #3 of
+the [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm argument forwarding problem].) within some limits that can be
+[link config configured].
+* Removes the ambiguity, as to whether the creation of an empty array or a default constructed element is triggered by a nullary call to a container
+generator. See [link tut_empty here].
+
+Finally, `list_of` and list-inserters are replaced by [link deque `__fun_deque__`] and [link put `__fun_put__`], respectively. In this new framework, the
+two features share most of their functionality through a crtp class, [link interpreter_crtp `interpreter_crtp`]. The change in design can be seen
+from the example in the [link intro introduction] and the description that follows. 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-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,18 @@
+[#config]
+
+[import ../../../../boost/assign/v2/support/config/limit_functor_const_non_const_arity.hpp]
+[import ../../../../boost/assign/v2/support/config/limit_functor_arity.hpp]
+[import ../../../../boost/assign/v2/support/config/limit_csv_arity.hpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/support/config/limit_arity.hpp `boost/assign/v2/support/config/limit_arity.hpp`][br]
+ [@../../../../../boost/assign/v2/support/config/limit_csv_arity.hpp `boost/assign/v2/support/config/limit_csv_arity.hpp`][br]
+ [@../../../../../boost/assign/v2/support/config/limit_lvalue_const_arity.hpp `boost/assign/v2/support/config/limit_lvalue_const_arity.hpp`]
+ ..Constants that control arity of functors and csv functions, throughout this library, under __url_cpp03__ (not __url_cpp0x__)
+]
+
+[heading Synopsis]
+[limit_functor_const_non_const_arity]
+[limit_functor_arity]
+[limit_csv_arity]
+

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

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

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

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/deque.qbk
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/deque.qbk 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,77 @@
+[import ../test/deque/csv_deque.cpp]
+[import ../test/deque/deque.cpp]
+
+[tpl_module
+ [@../../../../../boost/assign/v2/deque.hpp `boost/assign/v2/deque.hpp`]
+ ..Interpreter that generates a deque container.
+]
+
+[section:conversion Conversion]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/conversion.hpp `boost/assign/v2/deque/conversion.hpp`]
+
+[heading Description]
+ADL version of [link converter __fun_converter__]
+
+[heading Example]
+[*Example 1]
+[test_csv_deque_converter]
+
+[endsect][/conversion]
+[section:csv_deque Csv_deque]
+[#csv_deque]
+
+[import ../../../../boost/assign/v2/deque/csv_deque.hpp]
+
+[heading Header]
+[@../../../../../boost/assign/v2/deque/csv_deque.hpp `boost/assign/v2/deque/csv_deque.hpp`]
+
+[heading Description]
+__csv_form__
+
+[heading Synopsis]
+[syntax_deque_csv_deque]
+
+[heading Example]
+[*Example 1]
+[test_csv_deque1]
+
+[*Example 2]
+[test_csv_deque2]
+
+[*Example 3]
+[test_csv_deque3]
+
+[*Example 4]
+[test_csv_deque4]
+
+[/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_deque1]
+
+[*Example 2]
+[test_deque1]
+
+[endsect][/deque]

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,143 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Appendix</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="prev" href="reference/support.html" title="Support">
+<link rel="next" href="apx/change_log.html" title="Change_log">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/support.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="apx/change_log.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_assign_v2.apx"></a><a class="link" href="apx.html" title="Appendix">Appendix</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Acknowledgement</span></dt>
+<dt><span class="section">Change_log</span></dt>
+<dd><dl><dt><span class="section"><a href="apx/change_log.html#boost_assign.apx.change_log.v2">[Proposal for] Upgrading
+ from Boost v1.4x : Boost.Assign 2.0</a></span></dt></dl></dd>
+<dt><span class="section">Containers</span></dt>
+<dt><span class="section">Doc conventions</span></dt>
+<dt><span class="section">Performance</span></dt>
+<dt><span class="section">Portability</span></dt>
+<dt><span class="section">Support</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.acknow"></a><a class="link" href="apx.html#boost_assign_v2.apx.acknow" title="Acknowledgement">Acknowledgement</a>
+</h3></div></div></div>
+<a name="boost_assign_v2.apx.acknow.boost_assign__1_0_"></a><h5>
+<a name="id36389863"></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="id36389977"></a>
+ <a class="link" href="apx.html#boost_assign_v2.apx.acknow.boost_assign_2_0_">Boost.Assign
+ 2.0 </a>
+ </h5>
+<p>
+ Evidently, Boost.Assign 2.0 owes much to Boost.Assign (1.0), but it is also
+ influenced by Boost.Range
+ (<a class="link" href="reference.html#chain">chaining</a> and piping).
+ </p>
+<p>
+ Special thanks to
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Manuel Peinado Gallego whose work
+ and discussions have inspired the changes proposed in the mini-review.
+ </li>
+<li class="listitem">
+ Thorsten Ottosen and John Bytheway have shaped this new version of the
+ library and its documentation, through their feedback as review managers
+ of the mini-review
+ and the main review, respectively.
+ </li>
+</ul></div>
+<p>
+ The following books have helped or were influential:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ Abrahams, David and Gurtovoy, Aleksey, <a href="http://portal.acm.org/citation.cfm?id=1044941#" target="_top">C++
+ Template Metaprogramming</a>: Concepts, Tools, and Techniques from
+ Boost and Beyond (C++ in Depth Series), 2004, Addison-Wesley Professional.
+ </li></ul></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/support.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="apx/change_log.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/change_log.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/apx/change_log.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,119 @@
+<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 using overlads (Solution #3 of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">argument
+ forwarding problem</a>.) within some limits that can be <a class="link" href="../reference/support.html#config">configured</a>.
+ </li>
+<li class="listitem">
+ Removes the ambiguity, as to whether the creation of an empty array
+ or a default constructed element is triggered by a nullary call to
+ a container generator. See <a class="link" href="../tut.html#tut_empty">here</a>.
+ </li>
+</ul></div>
+<p>
+ Finally, <code class="computeroutput"><span class="identifier">list_of</span></code> and list-inserters
+ are replaced by <a class="link" href="../reference/deque.html#deque"><code class="computeroutput">deque</code></a> and <a class="link" href="../reference/put.html#put"><code class="computeroutput">put</code></a>, respectively. In this new framework,
+ the two features share most of their functionality through a crtp class,
+ <a class="link" href="../reference/interpreter.html#interpreter_crtp"><code class="computeroutput"><span class="identifier">interpreter_crtp</span></code></a>.
+ The change in design can be seen from the example in the <a class="link" href="../../index.html#intro">introduction</a>
+ and the description that follows. 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-06-02 22:14:02 EDT (Thu, 02 Jun 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-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Doc conventions</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../apx.html" title="Appendix">
+<link rel="prev" href="cont.html" title="Containers">
+<link rel="next" href="perf.html" title="Performance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cont.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.apx.conv"></a><a class="link" href="conv.html" title="Doc conventions">Doc conventions</a>
+</h3></div></div></div>
+<a name="doc_conv"></a><p>
+ Here are conventions used in this documentation.
+ </p>
+<a name="boost_assign.apx.conv.names"></a><h5>
+<a name="id36391090"></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="id36391214"></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="id36391351" href="#ftn.id36391351" class="footnote">7</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="id36391394"></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.id36391351" href="#id36391351" class="para">7</a>] </sup>
+ This idiom originated in Unix
+ and is present in Boost.Range under the name <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptor</a>.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cont.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../apx.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

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

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/org.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/org.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,140 @@
+<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="id36331545"></a>
+ <a class="link" href="org.html#boost_assign.org.headers">Headers</a>
+ </h4>
+<a name="org_headers"></a><p>
+ This is a header only template library that depends on Boost.
+ Accordingly, the latter has to be in the compiler's search path, and using
+ a given feature of Boost.Assign 2.0 only
+ requires including the corresponding header file. Under C++03
+ compilation time may be long so it is advised to include headers selectively
+ <sup>[<a name="id36331579" href="#ftn.id36331579" class="footnote">1</a>]</sup>
+ </p>
+<p>
+ Headers can looked for by module or 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="id36331703" href="#ftn.id36331703" 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="id36331752" href="#ftn.id36331752" 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>
+</ul></div>
+<p>
+ The functionality of <a href="../../../../../../libs/assign/doc/index.html" target="_top">Boost.Assign
+ (1.0)</a><sup>[<a name="id36331833" href="#ftn.id36331833" class="footnote">4</a>]</sup> does not clash with that versioned 2.0. While it's risk free to
+ use both versions in the same projects, it's probably more coherent to stick
+ to just one version. The following statement
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<p>
+ retrieves the content of version 1.0, not 2.0.
+ </p>
+<a name="boost_assign.org.namespaces"></a><h4>
+<a name="id36331889"></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.id36331579" href="#id36331579" class="para">1</a>] </sup>
+ As an indication, compiling all of libs/assign/v2/test
+ takes about 6 mn using C++03,
+ and 1 mn using C++0x,
+ under the machine specifaction given <a class="link" href="apx/perf.html#perf">here</a>.
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id36331703" href="#id36331703" 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.id36331752" href="#id36331752" 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 class="footnote"><p><sup>[<a name="ftn.id36331833" href="#id36331833" class="para">4</a>] </sup>
+ The presence of parentheses is to mark the fact that this version number
+ is retrospective : Boost.Assign and Boost.Assign (1.0) designate the same
+ library
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 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">Include</span></dt>
+<dt><span class="section">Interpreter</span></dt>
+<dd><dl>
+<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">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">Delay_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="id36337874"></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="id36337911"></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="id36337948"></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="id36337986"></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="id36338011"></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="id36338034"></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="id36338524"></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="id36338842"></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="id36339683"></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="id36339709"></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="id36339728"></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="id36339845"></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_assign5co" href="reference.html#boost_assign5"><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_assign6co" href="reference.html#boost_assign6"><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_assign5"></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_assign6"></a>2 </p></td>
+<td valign="top" align="left"><p>
+ rvalue!
+ </p></td>
+</tr>
+</table></div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/conversion.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/conversion.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/conversion.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,428 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Conversion</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="deque.html" title="Deque">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deque.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.conversion"></a><a class="link" href="conversion.html" title="Conversion">Conversion</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Convert</span></dt>
+<dt><span class="section">Converter</span></dt>
+</dl></div>
+<a name="conversion"></a><a name="boost_assign.reference.conversion.header"></a><h5>
+<a name="id36340517"></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="id36340539"></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="id36340572"></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="id36340600"></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="id36340619"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.convert.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">conversion_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">convert</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="identifier">C</span> <span class="keyword">operator</span><span class="special">|(</span> <span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Arg</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">adapter</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">conversion_aux</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">convert</span>
+ <span class="special">{</span>
+
+ <span class="identifier">convert</span><span class="special">();</span>
+ <span class="identifier">convert</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg1</span><span class="special">&gt;</span>
+ <span class="identifier">convert</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">Arg1</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span><span class="special">^(</span><span class="identifier">Arg1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg1</span><span class="special">);</span>
+
+ <span class="special">};</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.conversion.convert.semantics"></a><h6>
+<a name="id36341046"></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="id36341462"></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="id36341754"></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="id36341915"></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="id36341934"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">conversion_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">converter</span>
+ <span class="special">{</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">explicit</span> <span class="identifier">converter</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">source</span><span class="special">);</span>
+
+ <span class="identifier">converter</span><span class="special">(</span>
+ <span class="keyword">typename</span> <span class="identifier">call_traits</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">param_type</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span>
+ <span class="special">);</span>
+
+ <span class="comment">// Implicit conversion
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="identifier">C</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Explicit converion
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="identifier">C</span> <span class="identifier">type</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">conversion_aux</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span> <span class="special">=</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">converter</span><span class="special">;</span>
+
+<span class="special">}//</span><span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">converter</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">Arg</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">converter</span><span class="special">(</span><span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Arg</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.conversion.converter.semantics"></a><h6>
+<a name="id36342579"></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="id36342604"></a>
+ <a class="link" href="conversion.html#boost_assign.reference.conversion.converter.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">source</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">fifo</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">converter</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fifo</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="number">3</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">R</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">R</span><span class="special">;</span>
+<span class="identifier">R</span> <span class="identifier">benchmark</span><span class="special">(</span> <span class="number">10</span> <span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">source</span><span class="special">(</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">10</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">stack</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+ <span class="identifier">f</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">array2_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">array2_</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">dim_</span><span class="special">;</span>
+<span class="identifier">dim_</span> <span class="identifier">dim1</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">dim2</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">array2_</span> <span class="identifier">array2</span> <span class="special">=</span> <span class="identifier">converter</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">extents</span><span class="special">[</span><span class="identifier">dim1</span><span class="special">][</span><span class="identifier">dim2</span><span class="special">]</span>
+<span class="special">);</span>
+
+<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">benchmark</span> <span class="special">[]</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span>
+<span class="special">};</span>
+<span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">num_elements</span><span class="special">();</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">()</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">benchmark</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deque.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/deque.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/deque.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,505 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Deque</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="conversion.html" title="Conversion">
+<link rel="next" href="include.html" title="Include">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conversion.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="include.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.deque"></a><a class="link" href="deque.html" title="Deque">Deque</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Conversion</span></dt>
+<dt><span class="section">Csv_deque</span></dt>
+<dt><span class="section">Deque</span></dt>
+</dl></div>
+<a name="boost_assign.reference.deque.header"></a><h5>
+<a name="id36344382"></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="id36344449"></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="id36344485"></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="id36344561"></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="id36344588"></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_assign7co" href="deque.html#boost_assign7"><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_assign7"></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="id36344943"></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="id36345019"></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="id36345041"></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">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">csv_deque_option</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+
+ <span class="comment">// Explicit value
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque_option</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Options</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="comment">// Deduced value
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;&amp;</span> <span class="identifier">_0</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="comment">// Arity = I
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Types</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque_option</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Options</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;</span> <span class="special">...</span> <span class="identifier">args</span><span class="special">);</span>
+
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.deque.csv_deque.example"></a><h6>
+<a name="id36346088"></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">deque</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">*&gt;::</span><span class="identifier">type</span> <span class="identifier">result1_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">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="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">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">result2_</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C1</span><span class="special">,</span> <span class="identifier">result1_</span><span class="special">&gt;</span> <span class="special">));</span>
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C2</span><span class="special">,</span> <span class="identifier">result2_</span><span class="special">&gt;</span> <span class="special">));</span>
+
+<span class="identifier">C1</span> <span class="identifier">deque1</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="string">"x"</span><span class="special">,</span> <span class="string">"y"</span><span class="special">,</span> <span class="string">"z"</span> <span class="special">);</span>
+<span class="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">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">pair</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">t_</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">&lt;</span><span class="identifier">t_</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;(</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</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="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">C</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MPL_ASSERT</span><span class="special">((</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="special">));</span>
+
+<span class="identifier">C</span> <span class="identifier">deque</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span> <span class="string">"x"</span><span class="special">,</span> <span class="string">"y"</span><span class="special">,</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">benchmark</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"x"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"y"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="string">"z"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">deque</span> <span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 4</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="id36348411"></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="id36348486"></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="id36348508"></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">)/*-&gt;*/</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="identifier">BOOST_ASSIGN_V2_IGNORE</span><span class="special">(/*-&gt;*/;</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">)/*-&gt;*/</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="identifier">BOOST_ASSIGN_V2_IGNORE</span><span class="special">(/*-&gt;*/;</span>
+ <span class="comment">// Deque interface
+</span> <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">size_type</span> <span class="identifier">max_size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span><span class="keyword">const</span><span class="special">;;</span>
+ <span class="identifier">const_reference</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">n</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <span class="identifier">front</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">front</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">reference</span> <span class="identifier">back</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">back</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">pop_front</span><span class="special">();</span>
+ <span class="keyword">void</span> <span class="identifier">pop_back</span><span class="special">();</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">deque_interpreter</span><span class="special">&amp;</span> <span class="identifier">that</span><span class="special">);</span>
+
+ <span class="identifier">impl_</span><span class="special">&amp;</span> <span class="identifier">container</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_data_generator</span><span class="special">&lt;</span> <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_modifier_tag</span><span class="special">&lt;</span> <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">MTag1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">{</span>
+ <span class="identifier">unspecified</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+ <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deque</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">t_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deque_impl</span><span class="special">&lt;</span><span class="identifier">t_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">impl_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deduce_data_generator</span><span class="special">&lt;</span><span class="identifier">impl_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">f_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">deduce_modifier_tag</span><span class="special">&lt;</span><span class="identifier">impl_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">modifier_tag_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">deque_interpreter</span><span class="special">&lt;</span><span class="identifier">t_</span><span class="special">,</span> <span class="identifier">f_</span><span class="special">,</span> <span class="identifier">modifier_tag_</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">deque_option</span>
+ <span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Empty
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque_option</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Options</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+
+
+ <span class="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="comment">// Default constructible options
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">deque</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span><span class="identifier">args</span><span class="special">);</span>
+
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">deque</span><span class="special">;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deque</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.deque.deque.semantics"></a><h6>
+<a name="id36351195"></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="id36351275"></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">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>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conversion.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="include.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

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

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/interpreter.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/interpreter.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,504 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Interpreter</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="include.html" title="Include">
+<link rel="next" href="option.html" title="Option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="include.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="option.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.interpreter"></a><a class="link" href="interpreter.html" title="Interpreter">Interpreter</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Crtp</span></dt>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+</dl></div>
+<a name="boost_assign.reference.interpreter.header"></a><h5>
+<a name="id36352164"></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="id36352232"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.description">Description</a>
+ </h5>
+<p>
+ Interpreter framework
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.interpreter.crtp"></a><a class="link" href="interpreter.html#boost_assign.reference.interpreter.crtp" title="Crtp">Crtp</a>
+</h4></div></div></div>
+<a name="interpreter_crtp"></a><a name="boost_assign.reference.interpreter.crtp.header"></a><h6>
+<a name="id36352273"></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="id36352349"></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="id36352372"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.crtp.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">D</span> <span class="comment">// Derived
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Container
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span> <span class="comment">// Data generator
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span> <span class="comment">// Modifier tag
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span> <span class="comment">// Data tag
+</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">interpreter_crtp</span>
+ <span class="special">{</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">interpreter_modifier</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span>
+ <span class="identifier">modifier_type</span><span class="special">;</span>
+
+ <span class="identifier">interpreter_crtp</span><span class="special">(){}</span>
+ <span class="keyword">explicit</span> <span class="identifier">interpreter_crtp</span><span class="special">(</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span> <span class="special">);</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">(</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">modifier_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">m</span> <span class="special">);</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">D</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span><span class="identifier">args</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.interpreter.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="id36352973"></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="id36353049"></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="id36353072"></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="id36353210"></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="id36353706"></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="id36353782"></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="id36353805"></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="id36354418"></a>
+ <a class="link" href="interpreter.html#boost_assign.reference.interpreter.modifier.semantics">Semantics</a>
+ </h6>
+<a name="modifier_rules"></a><p>
+ Metafunction <code class="computeroutput"><span class="identifier">deduce_modifier_tag</span><span class="special">&lt;</span>C<span class="special">&gt;</span></code>
+ implements the following switch statement:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Case
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is multi_array
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#row_major"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">row_major</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is Associative
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#std_modifier"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">insert</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is an Array
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#option_iterate"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">iterate</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">C</code> is an Adapter
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#std_modifier"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push</span></code></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ None of the above
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="option.html#std_modifier"><code class="computeroutput"><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push_back</span></code></a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ See <a class="link" href="../apx/cont.html#containers">Containers</a> supported.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="include.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="option.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/option.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/option.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,1240 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Option</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Assign 2.0">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="interpreter.html" title="Interpreter">
+<link rel="next" href="put.html" title="Put">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interpreter.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="put.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_assign_v2.reference.option"></a><a class="link" href="option.html" title="Option">Option</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Data</span></dt>
+<dt><span class="section">Modifier</span></dt>
+<dd><dl>
+<dt><span class="section">Framework</span></dt>
+<dt><span class="section">Iterate</span></dt>
+<dt><span class="section">Mapped</span></dt>
+<dt><span class="section">Repeat</span></dt>
+<dt><span class="section">Row_major</span></dt>
+<dt><span class="section">Std_modifier</span></dt>
+</dl></dd>
+</dl></div>
+<a name="boost_assign.reference.option.header"></a><h5>
+<a name="id36354759"></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="id36354826"></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="id36354863"></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="id36354938"></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="id36355095"></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="id36355171"></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="id36355200"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Value- or pointer-container
+</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span> <span class="comment">// Functor or keyword
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span> <span class="comment">// Multi-array
+</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_element_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_key_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_map_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_use_default_</span><span class="special">&gt;;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">data_generator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">kwd_value_</span><span class="special">&gt;;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span> <span class="special">=</span> <span class="identifier">kwd_use_default_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">option_data</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// F is either a functor or one of the keywords :
+</span> <span class="comment">// element_, key_, map_, use_default_, value_
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span> <span class="special">=</span> <span class="identifier">kwd_ignore_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">option_data</span><span class="special">;</span>
+
+
+ <span class="comment">// Overrides data generator
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span>
+ <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">option_data</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">%(</span>
+ <span class="identifier">interpreter_crtp</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="identifier">option_data</span><span class="special">&lt;</span><span class="identifier">F1</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span>
+ <span class="special">);</span>
+
+ <span class="keyword">struct</span> <span class="identifier">keyword_data</span>
+ <span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="identifier">option_data</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+<span class="keyword">namespace</span><span class="special">{</span>
+ <span class="keyword">const</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">keyword_data</span> <span class="identifier">_data</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">option_data</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.option.data.semantics"></a><h6>
+<a name="id36356254"></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="id36356290"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.data.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">exponent</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">(</span><span class="keyword">double</span><span class="special">)&gt;</span> <span class="identifier">f_</span><span class="special">;</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_data</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_data</span> <span class="special">=</span> <span class="identifier">f_</span><span class="special">(</span> <span class="identifier">log10</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">exponent</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_data</span>
+ <span class="special">,</span> <span class="number">1.0</span><span class="special">,</span> <span class="number">10.0</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">1000.0</span><span class="special">,</span> <span class="number">10000.0</span>
+<span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">eps</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">numeric</span><span class="special">::</span><span class="identifier">bounds</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">smallest</span><span class="special">();</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">-</span> <span class="number">0.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">-</span> <span class="number">4.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_data</span><span class="special">,</span>
+ <span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_data</span> <span class="special">=</span> <span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">k</span> <span class="special">)</span> <span class="special">*=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span>
+ <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_data</span><span class="special">,</span>
+ <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span>
+ <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">24</span><span class="special">,</span> <span class="number">120</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">map_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">map_</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">pair_</span><span class="special">;</span>
+
+<span class="identifier">map_</span> <span class="identifier">map</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="identifier">as2</span><span class="special">::</span><span class="identifier">value_</span><span class="special">&gt;(</span>
+ <span class="identifier">map</span><span class="special">,</span>
+ <span class="identifier">pair_</span><span class="special">(</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span> <span class="special">),</span>
+ <span class="identifier">pair_</span><span class="special">(</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span> <span class="special">),</span>
+ <span class="identifier">pair_</span><span class="special">(</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.option.modifier"></a><a class="link" href="option.html#boost_assign.reference.option.modifier" title="Modifier">Modifier</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Framework</span></dt>
+<dt><span class="section">Iterate</span></dt>
+<dt><span class="section">Mapped</span></dt>
+<dt><span class="section">Repeat</span></dt>
+<dt><span class="section">Row_major</span></dt>
+<dt><span class="section">Std_modifier</span></dt>
+</dl></div>
+<a name="boost_assign.reference.option.modifier.header"></a><h6>
+<a name="id36357628"></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="id36357659"></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="id36357707"></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="id36357734"></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="id36357756"></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="id36358607"></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="id36358944"></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="id36359044"></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="id36359129"></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="id36359151"></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="id36359418"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.iterate.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">10</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+<span class="identifier">cont</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">cont</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">cont</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">index</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_iterate</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">index</span> <span class="special">)++</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">cont</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span>
+ <span class="special">).</span><span class="identifier">container</span><span class="special">(),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">interpreter_</span><span class="special">;</span>
+<span class="identifier">interpreter_</span> <span class="identifier">interpreter</span> <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span>
+ <span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="number">7</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">index</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_iterate</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">index</span> <span class="special">)++</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">interpreter</span> <span class="special">%</span> <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span>
+ <span class="special">).</span><span class="identifier">container</span><span class="special">(),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.mapped"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.mapped" title="Mapped">Mapped</a>
+</h5></div></div></div>
+<a name="option_mapped"></a><a name="boost_assign.reference.option.modifier.mapped.header"></a><h6>
+<a name="id36360612"></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="id36360696"></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="id36360718"></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="id36360862"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.mapped.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span> <span class="identifier">C</span> <span class="identifier">year</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">year</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">&lt;</span><span class="identifier">as2</span><span class="special">::</span><span class="identifier">key_</span><span class="special">,</span> <span class="identifier">C</span><span class="special">&gt;(</span> <span class="identifier">year</span> <span class="special">)</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">_put</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_mapped</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">constant</span><span class="special">(</span> <span class="number">30</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="string">"apr"</span><span class="special">,</span> <span class="string">"jun"</span><span class="special">,</span> <span class="string">"sep"</span><span class="special">,</span> <span class="string">"nov"</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"apr"</span><span class="special">]</span> <span class="special">==</span> <span class="number">30</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"nov"</span><span class="special">]</span> <span class="special">==</span> <span class="number">30</span> <span class="special">);</span>
+
+<span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">_put</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_mapped</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">constant</span><span class="special">(</span> <span class="number">31</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="string">"jan"</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="string">"may"</span><span class="special">,</span> <span class="string">"jul"</span><span class="special">,</span> <span class="string">"aug"</span><span class="special">,</span> <span class="string">"oct"</span><span class="special">,</span> <span class="string">"dec"</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">year</span><span class="special">[</span><span class="string">"dec"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">source</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">iota</span><span class="special">(</span> <span class="identifier">source</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_mapped</span> <span class="special">=</span> <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">*=</span> <span class="special">-</span><span class="number">1</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">)</span>
+ <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span> <span class="number">9</span>
+ <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">2</span><span class="special">,</span> <span class="special">+</span><span class="number">3</span><span class="special">,</span> <span class="special">-</span><span class="number">4</span><span class="special">,</span> <span class="special">+</span><span class="number">5</span><span class="special">,</span> <span class="special">-</span><span class="number">6</span><span class="special">,</span> <span class="special">+</span><span class="number">7</span><span class="special">,</span> <span class="special">-</span><span class="number">8</span><span class="special">,</span> <span class="special">+</span><span class="number">9</span><span class="special">,</span> <span class="special">-</span><span class="number">10</span> <span
 class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.repeat"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.repeat" title="Repeat">Repeat</a>
+</h5></div></div></div>
+<a name="boost_assign.reference.option.modifier.repeat.header"></a><h6>
+<a name="id36362175"></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="id36362259"></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="id36362281"></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="id36362391"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.repeat.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_modifier</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_repeat</span> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cont</span> <span class="special">|</span> <span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_delay_put</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">100</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_modifier</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_repeat</span> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_nil</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">1000</span>
+ <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1000</span><span class="special">,</span> <span class="number">1000</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.row_major"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.row_major" title="Row_major">Row_major</a>
+</h5></div></div></div>
+<a name="row_major"></a><a name="boost_assign.reference.option.modifier.row_major.header"></a><h6>
+<a name="id36363106"></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="id36363191"></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="id36363213"></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="id36363362"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.row_major.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">array2_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">array2_</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">dim_</span><span class="special">;</span>
+<span class="identifier">dim_</span> <span class="identifier">dim1</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">dim2</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="identifier">array2_</span> <span class="identifier">array2</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">extents</span><span class="special">[</span><span class="identifier">dim1</span><span class="special">][</span><span class="identifier">dim2</span><span class="special">]</span> <span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">k</span><span class="special">;</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span>
+ <span class="identifier">_modifier</span><span class="special">,</span>
+ <span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_row_major</span> <span class="special">=</span> <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">::</span><span class="identifier">var</span><span class="special">(</span> <span class="identifier">k</span> <span class="special">)</span> <span class="special">+=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+<span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">array2</span> <span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span> <span class="special">);</span>
+<span class="identifier">k</span> <span class="special">=</span> <span class="special">-</span><span class="number">2</span><span class="special">;</span> <span class="identifier">csv</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+<span class="identifier">k</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="identifier">csv</span><span class="special">(</span> <span class="identifier">_put</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span> <span class="special">);</span>
+
+<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">benchmark</span> <span class="special">[]</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span>
+ <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span>
+<span class="special">};</span>
+<span class="identifier">size_</span> <span class="keyword">const</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">num_elements</span><span class="special">();</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">array2</span><span class="special">.</span><span class="identifier">data</span><span class="special">()</span> <span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">benchmark</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">+</span> <span class="identifier">benchmark</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.option.modifier.std_modifier"></a><a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier" title="Std_modifier">Std_modifier</a>
+</h5></div></div></div>
+<a name="std_modifier"></a><a name="boost_assign.reference.option.modifier.std_modifier.header"></a><h6>
+<a name="id36364375"></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="id36364460"></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="id36364482"></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="id36364601"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.option">Option</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Semantics</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> arg</code>
+ </p>
+ </td>
+<td>
+ <p>
+ None
+ </p>
+ </td>
+<td>
+ <p>
+ Semantics of <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">modifier</span><span class="special">&lt;</span><span class="identifier">Arg</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Instances</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Keyword
+ </p>
+ </th>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_insert</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">insert</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_push</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_push_back</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push_back</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">_push_front</code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">_std_modifier <span class="special">=</span> <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">push_front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">circular_buffer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cb</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="identifier">as2</span><span class="special">::</span><span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="number">16</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">16</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.option.modifier.std_modifier.macro"></a><h6>
+<a name="id36365585"></a>
+ <a class="link" href="option.html#boost_assign.reference.option.modifier.std_modifier.macro">Macro</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Semantics</strong></span>
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSIGN_V2_OPTION_STD_MODIFIER</span><span class="special">(</span><span class="identifier">Name</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Defines <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">modifier_tag</span><span class="special">{</span> <span class="keyword">struct</span>
+ <span class="identifier">Name</span><span class="special">{};</span>
+ <span class="special">}</span></code>
+ </li>
+<li class="listitem">
+ Creates a keyword <code class="computeroutput"><span class="identifier">_Name</span></code>,
+ shortcut for <code class="computeroutput">_std_modifier <span class="special">=</span>
+ <span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">Name</span></code>
+ </li>
+<li class="listitem">
+ Specializes <code class="computeroutput"><span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">modifier</span><span class="special">&lt;</span><span class="identifier">modifier_tag</span><span class="special">::</span><span class="identifier">Name</span><span class="special">&gt;</span></code> with the following semantics:
+ </li>
+</ul></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Option
+ </p>
+ </th>
+<th>
+ <p>
+ Modifier
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">_Name</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">cont<span class="special">.</span><span class="identifier">Name</span><span class="special">(</span> t <span class="special">)</span></code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ <span class="bold"><strong>Example</strong></span>
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSIGN_V2_OPTION_STD_MODIFIER</span><span class="special">(</span><span class="identifier">push_back</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interpreter.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="put.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/put.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/put.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,909 @@
+<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">Delay_put</span></dt>
+<dt><span class="section">Put</span></dt>
+</dl></div>
+<a name="boost_assign.reference.put.header"></a><h5>
+<a name="id36365900"></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="id36365930"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.description">Description</a>
+ </h5>
+<p>
+ Assigning or inserting elments of a container
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.csv_put"></a><a class="link" href="put.html#boost_assign.reference.put.csv_put" title="Csv_put">Csv_put</a>
+</h4></div></div></div>
+<a name="csv_put"></a><a name="boost_assign.reference.put.csv_put.header"></a><h6>
+<a name="id36365971"></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="id36366001"></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="id36366023"></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="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="comment">// Default constructible options
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">csv_put</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.csv_put.semantics"></a><h6>
+<a name="id36366576"></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">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> cont<span class="special">,</span>
+ <span class="identifier">args0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">I</span><span class="special">-</span><span class="number">1</span> <span class="special">),</span> <span class="special">...,</span>
+ <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">nI</span>
+ <span class="special">-</span> <span class="number">1</span>
+ <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">put<span class="special">(</span> cont <span class="special">)(</span>
+ <span class="identifier">args0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">I</span><span class="special">-</span><span class="number">1</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">...</span> <span class="special">(</span>
+ <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">nI</span>
+ <span class="special">-</span> <span class="number">1</span>
+ <span class="special">)</span> <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign.reference.put.csv_put.example"></a><h6>
+<a name="id36367013"></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">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">seq</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">seq</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">queue</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">adapter</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">adapter</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">5</span><span class="special">&gt;</span> <span class="identifier">array</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">array</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">assoc</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">bitset</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">number</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">number</span><span class="special">&gt;</span> <span class="identifier">range_3bit</span><span class="special">;</span>
+
+<span class="comment">// The significance of this example comes from:
+</span><span class="comment">// Expression Valid
+</span><span class="comment">// number( "011" ) No
+</span><span class="comment">// number( str_( "011" ) ) Yes
+</span><span class="comment">// range_3bit.push_back( str_( "011" ) ) No
+</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">1</span><span class="special">,</span> <a class="co" name="boost_assign8co" href="put.html#boost_assign8"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">str_</span><span class="special">&gt;(</span>
+ <span class="identifier">range_3bit</span>
+ <span class="special">,</span> <span class="string">"000"</span><span class="special">,</span> <span class="string">"001"</span><span class="special">,</span> <span class="string">"010"</span><span class="special">,</span> <span class="string">"011"</span><span class="special">,</span> <span class="string">"100"</span><span class="special">,</span> <span class="string">"101"</span><span class="special">,</span> <span class="string">"110"</span><span class="special">,</span> <span class="string">"111"</span>
+<span class="special">);</span>
+
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">range_3bit</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">range_3bit</span><span class="special">[</span><span class="identifier">i</span><span class="special">].</span><span class="identifier">to_ulong</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">i</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign8"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Required
+ </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="keyword">const</span> <span class="keyword">char</span> <span class="identifier">state_</span> <span class="special">[</span><span class="number">3</span><span class="special">];</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">code_</span><span class="special">;</span>
+<span class="identifier">state_</span> <span class="identifier">ct</span> <span class="special">=</span> <span class="string">"CT"</span><span class="special">,</span> <span class="identifier">nj</span> <span class="special">=</span> <span class="string">"NJ"</span><span class="special">,</span> <span class="identifier">ny</span> <span class="special">=</span> <span class="string">"NY"</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">state_</span><a class="co" name="boost_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">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span>
+ <span class="identifier">region</span><span class="special">,</span>
+ <span class="identifier">ny</span><span class="special">,</span> <span class="number">212</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">718</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">516</span><span class="special">,</span> <span class="identifier">ny</span><span class="special">,</span> <span class="number">914</span><span class="special">,</span>
+ <span class="identifier">nj</span><span class="special">,</span> <span class="number">210</span><span class="special">,</span> <span class="identifier">nj</span><span class="special">,</span> <span class="number">908</span><span class="special">,</span> <span class="identifier">nj</span><span class="special">,</span> <span class="number">609</span><span class="special">,</span>
+ <span class="identifier">ct</span><span class="special">,</span> <span class="number">203</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="identifier">ny</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">203</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">212</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span> <span class="identifier">region</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="identifier">ct</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign9"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Notice the reference
+ </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">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">C</span><span class="special">;</span>
+<span class="identifier">C</span> <span class="identifier">set</span><span class="special">,</span> <span class="identifier">benchmark</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="string">"foo"</span><span class="special">,</span> <span class="string">"bar"</span><span class="special">,</span> <span class="string">"baz"</span> <span class="special">);</span>
+
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="string">"foo"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">benchmark</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="string">"baz"</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="identifier">benchmark</span> <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example5</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">q1</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">q1</span><span class="special">,</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example6</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multi_array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">array3_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">array3_</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">size_</span> <span class="identifier">dim_</span><span class="special">;</span>
+<span class="identifier">dim_</span> <span class="identifier">dim1</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">dim2</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">dim3</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span>
+
+<span class="identifier">array3_</span> <span class="identifier">array3</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">extents</span><span class="special">[</span><span class="identifier">dim1</span><span class="special">][</span><span class="identifier">dim2</span><span class="special">][</span><span class="identifier">dim3</span><span class="special">]</span> <span class="special">);</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span>
+ <span class="identifier">array3</span><span class="special">,</span>
+ <span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span>
+ <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="number">7</span><span class="special">,</span>
+ <span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">11</span><span class="special">,</span>
+
+ <span class="number">12</span><span class="special">,</span> <span class="number">13</span><span class="special">,</span> <span class="number">14</span><span class="special">,</span> <span class="number">15</span><span class="special">,</span>
+ <span class="number">16</span><span class="special">,</span> <span class="number">17</span><span class="special">,</span> <span class="number">18</span><span class="special">,</span> <span class="number">19</span><span class="special">,</span>
+ <span class="number">20</span><span class="special">,</span> <span class="number">21</span><span class="special">,</span> <span class="number">22</span><span class="special">,</span> <span class="number">23</span>
+<span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span> <span class="identifier">size_</span> <span class="identifier">i1</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i1</span> <span class="special">&lt;</span> <span class="identifier">dim1</span><span class="special">;</span> <span class="identifier">i1</span><span class="special">++</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">for</span><span class="special">(</span> <span class="identifier">size_</span> <span class="identifier">i2</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i2</span> <span class="special">&lt;</span> <span class="identifier">dim2</span><span class="special">;</span> <span class="identifier">i2</span><span class="special">++</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span><span class="special">(</span> <span class="identifier">size_</span> <span class="identifier">i3</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i3</span> <span class="special">&lt;</span> <span class="identifier">dim3</span><span class="special">;</span> <span class="identifier">i3</span><span class="special">++</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">array3</span><span class="special">[</span> <span class="identifier">i1</span> <span class="special">][</span> <span class="identifier">i2</span> <span class="special">][</span> <span class="identifier">i3</span> <span class="special">]</span> <span class="special">==</span> <span class="identifier">i</span><span class="special">++</span> <span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example7</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+<a class="co" name="boost_assign10co" href="put.html#boost_assign10"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">x</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign10"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">assoc</span><span class="special">[</span><span class="identifier">i</span><span class="special">++]</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">T</span><span class="special">(</span> <span class="identifier">t</span> <span class="special">)</span></code>
+ for <code class="computeroutput"><span class="identifier">i</span> <span class="special">=</span>
+ <span class="number">0</span></code> and <code class="computeroutput"><span class="identifier">t</span></code><code class="literal">=
+ </code> <code class="computeroutput"><span class="identifier">x</span></code>, <code class="computeroutput"><span class="identifier">y</span></code>, and <code class="computeroutput"><span class="identifier">z</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example8</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_deque</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cont</span><span class="special">;</span>
+<a class="co" name="boost_assign11co" href="put.html#boost_assign11"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">x</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">cont</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign11"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">assoc</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">T</span><span class="special">(</span> <span class="identifier">t</span> <span class="special">)</span> <span class="special">)</span></code>
+ for <code class="computeroutput"><span class="identifier">t</span></code> <code class="literal">=</code>
+ <code class="computeroutput"><span class="identifier">x</span></code>, <code class="computeroutput"><span class="identifier">y</span></code>,
+ and <code class="computeroutput"><span class="identifier">z</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example9</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">q1</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">q1</span><span class="special">,</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">q1</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example10</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_set</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">assoc</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="string">"isomer"</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="string">"ephemeral"</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"prosaic"</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">assoc</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example11</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_unordered_set</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">set</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="string">"foo"</span><span class="special">,</span> <span class="string">"bar"</span><span class="special">,</span> <span class="string">"baz"</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">set</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"foo"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">set</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"baz"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><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="id36371952"></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="id36371983"></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="id36372015"></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">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CastHolder</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ArgsHolder</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">I</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">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">Options</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+
+ <span class="identifier">unspecified</span>
+ <span class="identifier">delay_csv_put</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="special">...</span><span class="identifier">Cast</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span><span class="identifier">Args</span><span class="special">&gt;</span>
+
+ <span class="identifier">unspecified</span>
+ <span class="identifier">delay_csv_put</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+<span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">delay_csv_put</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.delay_csv_put.semantics"></a><h6>
+<a name="id36372401"></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">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> <span class="identifier">args0</span><span class="special">,</span> <span class="special">...,</span>
+ <span class="identifier">arg</span><span class="special">(</span>
+ <span class="identifier">I</span><span class="special">-</span><span class="number">1</span> <span class="special">),</span>
+ <span class="special">...,</span> <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span> <span class="special">...,</span>
+ <span class="identifier">arg</span><span class="special">(</span>
+ <span class="identifier">nI</span> <span class="special">-</span>
+ <span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">csv_put<span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> cont<span class="special">,</span>
+ <span class="identifier">args0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">I</span><span class="special">-</span><span class="number">1</span> <span class="special">),</span> <span class="special">...,</span>
+ <span class="identifier">args</span><span class="special">(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">)</span><span class="identifier">I</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">arg</span><span class="special">(</span> <span class="identifier">nI</span>
+ <span class="special">-</span> <span class="number">1</span>
+ <span class="special">)</span> <span class="special">);</span>
+ <span class="keyword">return</span> cont</code>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_assign.reference.put.delay_csv_put.example"></a><h6>
+<a name="id36372774"></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">month_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">q1</span><span class="special">,</span> <span class="identifier">benchmark</span><span class="special">;</span>
+
+<span class="identifier">benchmark</span><span class="special">[</span> <span class="string">"jan"</span> <span class="special">]</span> <span class="special">=</span> <span class="number">31</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">[</span> <span class="string">"feb"</span> <span class="special">]</span> <span class="special">=</span> <span class="number">28</span><span class="special">;</span>
+<span class="identifier">benchmark</span><span class="special">[</span> <span class="string">"mar"</span> <span class="special">]</span> <span class="special">=</span> <span class="number">31</span><span class="special">;</span>
+
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">benchmark</span><span class="special">,</span>
+ <span class="identifier">q1</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">delay_csv_put</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">,</span> <span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.delay_put"></a><a class="link" href="put.html#boost_assign.reference.put.delay_put" title="Delay_put">Delay_put</a>
+</h4></div></div></div>
+<a name="delay_put"></a><a name="boost_assign.reference.put.delay_put.header"></a><h6>
+<a name="id36373192"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_put.header">Header</a>
+ </h6>
+<p>
+ boost/assign/v2/put/delay_put.hpp
+ </p>
+<a name="boost_assign.reference.put.delay_put.description"></a><h6>
+<a name="id36373223"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_put.description">Description</a>
+ </h6>
+<p>
+ Piping version of <a class="link" href="put.html#csv_put"><code class="computeroutput">put</code></a>. Only
+ overloads of <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ for now, are implemented.
+ </p>
+<a name="boost_assign.reference.put.delay_put.synopsis"></a><h6>
+<a name="id36373265"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_put.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span> <span class="special">=</span> <span class="identifier">empty_list_option_</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put_for_each_adapter</span>
+ <span class="special">{</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">O</span> <span class="special">=</span> <span class="identifier">empty_list_option_</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put_adapter</span>
+ <span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">&gt;</span>
+ <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">,</span> <span class="identifier">I</span><span class="special">&gt;</span>
+ <span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">R</span><span class="special">&amp;&amp;</span> <span class="identifier">range</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="identifier">put_adapter</span><span class="special">&lt;</span><span class="identifier">Options</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span><span class="special">%(</span><span class="identifier">Options</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">options</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">&gt;</span>
+ <span class="identifier">C</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">O</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">I</span><span class="special">&gt;</span>
+ <span class="identifier">C</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">|(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">put_for_each_adapter</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">O</span><span class="special">,</span> <span class="identifier">I</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+
+ <span class="keyword">const</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_adapter</span><span class="special">&lt;&gt;</span> <span class="identifier">_delay_put</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.delay_put.semantics"></a><h6>
+<a name="id36374057"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_put.semantics">Semantics</a>
+ </h6>
+<p>
+ Let <code class="computeroutput">r</code> denote a range of tuples, each of size <code class="computeroutput"><span class="identifier">I</span></code>.
+ </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">cont <span class="special">|</span> <span class="identifier">_delay_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> r <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">put<span class="special">.</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> cont<span class="special">,</span>
+ r<span class="special">);</span> <span class="keyword">return</span>
+ cont</code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput">cont <span class="special">|</span> <span class="identifier">_delay_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> r <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput">cont <span class="special">|</span> <span class="identifier">_delay_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span> r <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_assign.reference.put.delay_put.example"></a><h6>
+<a name="id36374321"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.delay_put.example">Example</a>
+ </h6>
+<a name="ex_delay_put"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">circular_buffer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">cb</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cb</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_delay_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span> <span class="special">,</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">cb</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">_delay_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign.reference.put.put"></a><a class="link" href="put.html#boost_assign.reference.put.put" title="Put">Put</a>
+</h4></div></div></div>
+<a name="put"></a><a name="boost_assign.reference.put.put.header"></a><h6>
+<a name="id36374780"></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="id36374810"></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="id36374832"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">interpreter_aux</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">put_interpreter</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">interpreter_crtp</span><span class="special">&lt;</span>
+ <span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span>
+ <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">put_interpreter</span><span class="special">();</span>
+ <span class="keyword">explicit</span> <span class="identifier">put_interpreter</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span> <span class="special">);</span>
+ <span class="identifier">put_interpreter</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">modifier_</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">m</span> <span class="special">);</span>
+
+ <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">container</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_data_generator</span><span class="special">&lt;</span>
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">&gt;{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_modifier_tag</span><span class="special">&lt;</span>
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">&gt;{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">MTag1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">replace_data_tag</span><span class="special">&lt;</span>
+ <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put_interpreter</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">MTag</span><span class="special">,</span> <span class="identifier">DTag</span><span class="special">&gt;</span>
+ <span class="special">&gt;{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">DTag1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
+ <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">C</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">O</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">put_option</span>
+ <span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span> <span class="special">);</span>
+
+ <span class="comment">// Default constructible options
+</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Options</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put_option</span><span class="special">&lt;</span><span class="identifier">Options</span><span class="special">,</span> <span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">cont</span> <span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">interpreter_aux</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">put_option</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">using</span> <span class="identifier">interpreter_aux</span><span class="special">::</span><span class="identifier">put</span><span class="special">;</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.put.put.semantics"></a><h6>
+<a name="id36376268"></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="id36376308"></a>
+ <a class="link" href="put.html#boost_assign.reference.put.put.example">Example</a>
+ </h6>
+<a name="ex_put"></a><p>
+ <span class="bold"><strong>Example1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">map</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">4</span><span class="special">,</span> <span class="string">"qux"</span><span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">==</span> <span class="string">"foo"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">==</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">==</span> <span class="string">"baz"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">==</span> <span class="string">"qux"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">month_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">days_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="identifier">month_</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">map_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="identifier">month_</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">days_</span><span class="special">&gt;</span> <span class="identifier">pair_</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">pair_</span><span class="special">&gt;</span> <span class="identifier">input</span><span class="special">;</span>
+
+<span class="identifier">input</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">pair_</span><span class="special">(</span><span class="string">"jan"</span><span class="special">,</span> <span class="number">31</span><span class="special">)</span> <span class="special">);</span>
+<span class="identifier">input</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">pair_</span><span class="special">(</span><span class="string">"feb"</span><span class="special">,</span> <span class="number">28</span><span class="special">)</span> <span class="special">);</span>
+<span class="identifier">input</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">pair_</span><span class="special">(</span><span class="string">"mar"</span><span class="special">,</span> <span class="number">31</span><span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">map_</span> <span class="identifier">map</span><span class="special">;</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span> <span class="identifier">input</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"jan"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"feb"</span><span class="special">]</span> <span class="special">==</span> <span class="number">28</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="string">"mar"</span><span class="special">]</span> <span class="special">==</span> <span class="number">31</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">fp_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">fp_</span><span class="special">&gt;</span> <span class="identifier">data_</span><span class="special">;</span>
+<span class="identifier">data_</span> <span class="identifier">a</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">a</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.71</span><span class="special">;</span> <span class="identifier">a</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.63</span><span class="special">;</span> <span class="identifier">a</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.85</span><span class="special">;</span>
+<span class="identifier">data_</span> <span class="identifier">b</span><span class="special">(</span> <span class="number">4</span> <span class="special">);</span> <span class="identifier">b</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.61</span><span class="special">;</span> <span class="identifier">b</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.69</span><span class="special">;</span> <span class="identifier">b</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.92</span><span class="special">;</span> <span class="identifier">b</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">=</span> <span class="number">0.55</span><span class="special"
>;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">data_</span><span class="special">,</span> <span class="number">4</span><span class="special">&gt;</span> <span class="identifier">ragged</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">ragged</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">),</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">(</span> <span class="identifier">a</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="identifier">b</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="special">-</span><span class="number">99.99</span> <span class="special">)</span>
+ <span class="special">(</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">ragged</span><span class="special">[</span><span class="number">0</span><span class="special">].</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">ragged</span><span class="special">[</span><span class="number">3</span><span class="special">].</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example4</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_unordered_map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">map</span><span class="special">;</span>
+
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">4</span><span class="special">,</span> <span class="string">"qux"</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">==</span> <span class="string">"foo"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">==</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">==</span> <span class="string">"baz"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">==</span> <span class="string">"qux"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="option.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ref.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/ref.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/ref.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,776 @@
+<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="id36378784"></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="id36378859"></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="id36378900"></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="id36378931"></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="id36378953"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.array.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">nth_result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">array_size_type</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">nth_result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Generates an empty array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<div class="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="id36379537"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.array.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">ar</span><span class="special">;</span>
+<span class="identifier">ar</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="number">1</span> <span class="special">)(</span> <span class="number">10</span> <span class="special">)(</span> <span class="number">100</span> <span class="special">),</span>
+ <span class="identifier">ar</span>
+ <span class="special">)</span>
+<span class="special">)</span><a class="co" name="boost_assign12co" href="ref.html#boost_assign12"><img src="../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign12"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Temporaries destroyed past semicolon
+ </p></td>
+</tr></table></div>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">w</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">100</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">1000</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">nth_result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ar3</span>
+ <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="identifier">w</span> <span class="special">)(</span> <span class="identifier">x</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">);</span>
+<span class="special">{</span>
+ <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="identifier">ar3</span><span class="special">.</span><span class="identifier">front</span><span class="special">();</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">ar3</span><span class="special">.</span><span class="identifier">back</span><span class="special">();</span>
+
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">a</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">w</span> <span class="special">);</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">y</span> <span class="special">);</span>
+<span class="special">}</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">nth_result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="number">4</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ar4</span> <span class="special">=</span> <span class="identifier">ar3</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">);</span>
+<span class="special">{</span>
+ <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="identifier">ar4</span><span class="special">.</span><span class="identifier">front</span><span class="special">();</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">ar4</span><span class="special">.</span><span class="identifier">back</span><span class="special">();</span>
+
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">a</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">w</span> <span class="special">);</span>
+ <span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">z</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span>
+<span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 4</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">array</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)(</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="identifier">z</span> <span class="special">).</span><span class="identifier">assign</span><span class="special">(</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.conversion"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.conversion" title="Conversion">Conversion</a>
+</h5></div></div></div>
+<a name="boost_assign.reference.ref.array.conversion.header"></a><h6>
+<a name="id36381187"></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="id36381272"></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="id36381300"></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_assign13co" href="ref.html#boost_assign13"><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_assign13"></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="id36381547"></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="id36381631"></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="id36381653"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">ref</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">nth_result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">array_size_type</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">nth_result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Generates an empty array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">kwd_nil_</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span> <span class="identifier">kwd_nil_</span> <span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+ <span class="comment">// Generates a size-one array
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">array</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">ref</span>
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.ref.array.csv_array.example"></a><h6>
+<a name="id36382218"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.array.csv_array.example">Example</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">ar</span><span class="special">;</span>
+<span class="identifier">ar</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">ar</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span> <span class="special">),</span>
+ <span class="identifier">ar</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">nth_result_of</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">&lt;</span><span class="number">3</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ar</span>
+ <span class="special">=</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">);</span>
+
+<span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">front</span> <span class="special">=</span> <span class="identifier">ar</span><span class="special">.</span><span class="identifier">front</span><span class="special">();</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">back</span> <span class="special">=</span> <span class="identifier">ar</span><span class="special">.</span><span class="identifier">back</span><span class="special">();</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">front</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">x</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">back</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">z</span> <span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 3</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">T</span><span class="special">;</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">(</span> <span class="number">3</span> <span class="special">);</span> <span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">as2</span><span class="special">::</span><span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">);</span>
+<span class="identifier">BOOST_ASSIGN_V2_CHECK</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_assign.reference.ref.array.get"></a><a class="link" href="ref.html#boost_assign.reference.ref.array.get" title="Get">Get</a>
+</h5></div></div></div>
+<a name="ref_get"></a><a name="boost_assign.reference.ref.array.get.header"></a><h6>
+<a name="id36383338"></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="id36383422"></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="id36383471"></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="id36384022"></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="id36384613"></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="id36384697"></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="id36384720"></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="id36385396"></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="id36385439"></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="id36385650"></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="id36385686"></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="id36385771"></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="id36385794"></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="id36386543"></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="id36386997"></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="id36387081"></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="id36387104"></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="id36388431"></a>
+ <a class="link" href="ref.html#boost_assign.reference.ref.wrapper.crtp.example">Example</a>
+ </h6>
+<p>
+ None
+ </p>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="put.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="support.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/support.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/reference/support.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,256 @@
+<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="id36388471"></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="id36388499"></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="id36388541"></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="id36388753"></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="id36388789"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.config.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">/*
+ Maximum arity for which functors are overloaded for any combination of const
+ and non-const lvalues under C++03. Be warned that the number of function
+ overloads increases geometrically with this number.
+*/</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_FUNCTOR_CONST_NON_CONST_ARITY</span> <span class="number">2</span>
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">/* n = BOOST_ASSIGN_V2_LIMIT_FUNCTOR_ARITY
+ Overload | Arity
+ -------------------------------------
+ functor() | 0
+ functor(x[0]) | 1
+ functor(x[0], x[1]) | 2
+ ...
+ functor(x[0], ..., x[n-1]) | n
+*/</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_FUNCTOR_ARITY</span> <span class="number">4</span>
+
+</pre>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">/* n = BOOST_ASSIGN_V2_CSV_LIMIT_ARITY
+ Overload | Arity
+ -------------------------------------
+ csv_fun(t[0]) | 1
+ csv_fun(t[0], t[1]) | 2
+ ...
+ csv_fun(t[0], ...., t[n-1]) | n
+*/</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_ASSIGN_V2_LIMIT_CSV_ARITY</span> <span class="number">12</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_assign_v2.reference.support.keyword"></a><a class="link" href="support.html#boost_assign_v2.reference.support.keyword" title="Keyword">Keyword</a>
+</h4></div></div></div>
+<a name="boost_assign.reference.support.keyword.header"></a><h6>
+<a name="id36388917"></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="id36388947"></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="id36388981"></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">kwd_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">kwd_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">kwd_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">kwd_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">kwd_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">kwd_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">kwd_value_</span><span class="special">;</span>
+
+ <span class="keyword">const</span> <span class="identifier">kwd_ignore_</span> <span class="identifier">_ignore</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">kwd_element_</span> <span class="identifier">_element</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">kwd_key_</span> <span class="identifier">_key</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">kwd_map_</span> <span class="identifier">_map</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">kwd_nil_</span> <span class="identifier">_nil</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">kwd_use_default_</span> <span class="identifier">_use_default</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">kwd_value_</span> <span class="identifier">_value</span><span class="special">;</span>
+
+
+</pre>
+<p>
+ </p>
+<a name="boost_assign.reference.support.keyword.example"></a><h6>
+<a name="id36389532"></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="id36389570"></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="id36389600"></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="id36389623"></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="id36389802"></a>
+ <a class="link" href="support.html#boost_assign.reference.support.traits.semantics">Semantics</a>
+ </h6>
+<p>
+ For value containers, the semantics each of meta-function is explicit from
+ its name. For a <a href="http://www.boost.org/doc/libs/release/libs/ptr_container/doc/ptr_container.html" target="_top">pointer
+ container</a>, the latter is first mapped to its value-container counterpart,
+ and the same meta-function evaluated over the latter.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2004 Thorsten Ottosen, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../apx.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/tut.html
==============================================================================
--- (empty file)
+++ sandbox/assign_v2/libs/assign/v2/doc_copy/html/boost_assign_v2/tut.html 2011-06-02 22:14:02 EDT (Thu, 02 Jun 2011)
@@ -0,0 +1,568 @@
+<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="id36332042"></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="id36332114"></a>
+ <a class="link" href="tut.html#boost_assign.tut.put">Put</a>
+ </h4>
+<p>
+ Consider this example:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">x</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"foo"</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">y</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'r'</span><span class="special">,</span> <span class="char">'\0'</span> <span class="special">};</span>
+<span class="identifier">word_</span> <span class="identifier">z</span> <span class="special">=</span> <span class="string">"***baz"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">map</span><span class="special">;</span>
+<span class="identifier">put</span><span class="special">(</span> <span class="identifier">map</span> <span class="special">)</span><a class="co" name="boost_assign1co" href="tut.html#boost_assign1"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">)(</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">z</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span> <span class="special">)(</span> <span class="number">4</span><span class="special">,</span> <span class="string">"qux"</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">==</span> <span class="string">"foo"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">2</span><span class="special">]</span> <span class="special">==</span> <span class="string">"bar"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">3</span><span class="special">]</span> <span class="special">==</span> <span class="string">"baz"</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">map</span><span class="special">[</span><span class="number">4</span><span class="special">]</span> <span class="special">==</span> <span class="string">"qux"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign1"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">map</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span>
+ <span class="number">3</span> <span class="special">)</span> <span class="special">)</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ In this library, we call the variadic functor returned by <a class="link" href="reference/put.html#put"><code class="computeroutput">put</code></a>
+ an <a class="link" href="reference/interpreter.html#interpreter_crtp"><span class="emphasis"><em>interpreter</em></span></a>.
+ It performs two tasks:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ its arguments are forwarded to a <span class="emphasis"><em>data-generator</em></span>, which
+ outputs a data element.
+ </li>
+<li class="listitem">
+ it invokes a <span class="emphasis"><em>modifier</em></span>, <code class="computeroutput"><span class="identifier">insert</span></code>,
+ in this case
+ </li>
+</ul></div>
+<p>
+ The syntax is invariant across container categories, but not the semantics:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ For a map, as above, the first argument is treated as a key, and the rest
+ is forwarded to the mapped-type's constructor: <code class="computeroutput"><span class="identifier">word_</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span>
+ <span class="number">3</span> <span class="special">)</span></code>,
+ in the first call. Key and data are then combined into a pair, which is
+ inserted using modifier <code class="computeroutput"><span class="identifier">insert</span></code>.
+ </li>
+<li class="listitem">
+ For a sequence container, all arguments are forwarded to the value-type's
+ constructor, and the result is inserted using <code class="computeroutput"><span class="identifier">push_back</span></code>.
+ </li>
+</ul></div>
+<p>
+ For these and other container categories, see the specific rules for the <a class="link" href="reference/interpreter.html#data_gen_rules">data-generator</a> and those for the <a class="link" href="reference/interpreter.html#modifier_rules">modifier</a>.
+ Also see the <a class="link" href="apx/cont.html#containers">supported containers</a>.
+ </p>
+<a name="boost_assign.tut.csv"></a><h4>
+<a name="id36332853"></a>
+ <a class="link" href="tut.html#boost_assign.tut.csv">Csv</a>
+ </h4>
+<p>
+ As noted in the <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>,
+ <code class="computeroutput">put</code> caters to variable argument lists, whereas <code class="computeroutput">csv_put</code>
+ is reserved for a fixed number of arguments. Other names starting with <span class="emphasis"><em>csv</em></span>
+ are treated similarly <sup>[<a name="id36332885" href="#ftn.id36332885" class="footnote">5</a>]</sup>. There is a also function, <code class="computeroutput">csv</code>, that extends the interface
+ of an interpreter, as shown below:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">numeric</span><span class="special">(</span> <span class="number">10</span> <span class="special">);</span> <span class="identifier">iota</span><span class="special">(</span> <span class="identifier">numeric</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str_</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">variant</span><span class="special">&lt;</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">str_</span> <span class="special">&gt;</span> <span class="identifier">data_</span><span class="special">;</span>
+<span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">data_</span><span class="special">,</span> <span class="number">17</span><span class="special">&gt;</span> <span class="identifier">keypad</span><span class="special">;</span>
+
+<a class="co" name="boost_assign2co" href="tut.html#boost_assign2"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">keypad</span> <span class="special">),</span>
+ <span class="string">"+"</span><span class="special">,</span> <span class="string">"-"</span><span class="special">,</span> <span class="string">"*"</span><span class="special">,</span> <span class="string">"/"</span><span class="special">,</span> <span class="string">"="</span><span class="special">,</span> <span class="string">"."</span><span class="special">,</span> <span class="string">"c"</span>
+<span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">str_</span><span class="special">&gt;(</span> <span class="identifier">keypad</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="string">"+"</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">get</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">keypad</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">)</span> <span class="special">==</span> <span class="number">9</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign2"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Equivalent to <code class="computeroutput"><span class="identifier">put</span><span class="special">(</span>
+ <span class="identifier">keypad</span> <span class="special">)(</span>
+ <span class="string">"+"</span> <span class="special">)(</span>
+ <span class="string">"-"</span> <span class="special">)...(</span>
+ <span class="string">"."</span> <span class="special">).</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">)</span></code>
+ </p></td>
+</tr></table></div>
+<p>
+ The second novelty to notice is the expression <code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">numeric</span> <span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">numeric</span></code>
+ is a range.
+ It instructs the interpreter to scan the range's elements, and process each
+ as if passed as an individual argument. There is an overloaded version of
+ <code class="computeroutput"><span class="identifier">for_each</span></code> with an integer template
+ argument, <code class="computeroutput"><span class="identifier">for_each</span><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;(</span> r <span class="special">)</span></code>. The semantics share a common thread with
+ <code class="computeroutput">csv_put<span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;</span></code> or <code class="computeroutput">delay_csv_put<span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;</span></code>, the
+ latter of which is illustrated in <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>'s
+ example. See the <a class="link" href="reference/put.html" title="Put">reference</a>
+ for details.
+ </p>
+<a name="boost_assign.tut.pipe_syntax"></a><h4>
+<a name="id36333671"></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_put</span><span class="special">.</span><span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">source</span> <span class="special">),</span>
+ <span class="identifier">lambda</span><span class="special">::</span><span class="identifier">_1</span> <span class="special">%</span> <span class="number">2</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ The vertical bar, <code class="computeroutput"><span class="special">|</span></code>, expresses
+ the on-the-fly modification we were looking for, and call it <span class="emphasis"><em>piping</em></span>
+ after the related idiom
+ by the same name. A related feature is Boost.Range's <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptors</a>.
+ </p>
+<p>
+ Also see the <a class="link" href="../index.html#boost_assign_v2.intro" title="Introduction">introduction</a>'s example.
+ </p>
+<a name="boost_assign.tut.container_generation"></a><h4>
+<a name="id36333901"></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, which we now introduce by way of example, is that which
+ governs the generation of an empty container:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span> <span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">_nil</span> <span class="special">).</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="comment">// Functor form
+</span><span class="identifier">assert</span><span class="special">(</span> <span class="identifier">csv_deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;().</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="comment">// Csv form
+</span></pre>
+<p>
+ </p>
+<p>
+ In comparison, <code class="computeroutput">deque<span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;()</span></code> and <code class="computeroutput">csv_deque<span class="special">(</span>
+ <span class="keyword">int</span><span class="special">()</span> <span class="special">)</span></code> generate a container of size <code class="literal">1</code>,
+ whose element is default constructed.
+ </p>
+<a name="boost_assign.tut.pointer_containers"></a><h4>
+<a name="id36334255"></a>
+ <a class="link" href="tut.html#boost_assign.tut.pointer_containers">Pointer-containers</a>
+ </h4>
+<p>
+ To insert elements in a <a href="http://www.boost.org/doc/libs/release/libs/ptr_container/doc/ptr_container.html" target="_top">pointer
+ container</a>, pretend it is a value-container:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">word_</span><span class="special">;</span> <span class="identifier">ptr_set</span><span class="special">&lt;</span><span class="identifier">word_</span><span class="special">&gt;</span> <span class="identifier">words</span><span class="special">;</span>
+<a class="co" name="boost_assign3co" href="tut.html#boost_assign3"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">csv_put</span><span class="special">(</span> <span class="identifier">words</span><span class="special">,</span> <span class="string">"isomer"</span><span class="special">,</span> <span class="string">"ephemeral"</span><span class="special">,</span> <span class="string">"prosaic"</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">words</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"isomer"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">words</span><span class="special">.</span><span class="identifier">count</span><span class="special">(</span> <span class="string">"prosaic"</span> <span class="special">)</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign3"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Calls <code class="computeroutput"><span class="identifier">assoc</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span> <span class="keyword">new</span> <span class="identifier">word_</span><span class="special">(</span> <span class="identifier">s</span> <span class="special">)</span> <span class="special">)</span></code> for
+ <code class="literal">s = "isomer", "ephemeral", "prosaic"</code>
+ </p></td>
+</tr></table></div>
+<a name="boost_assign.tut.options"></a><h4>
+<a name="id36334560"></a>
+ <a class="link" href="tut.html#boost_assign.tut.options">Options</a>
+ </h4>
+<p>
+ An <a class="link" href="reference/option.html" title="Option">option</a> overrides
+ the default semantics, described under heading <span class="bold"><strong>Put</strong></span>,
+ above, of
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ the data-generator, or
+ </li>
+<li class="listitem">
+ the modifier
+ </li>
+</ul></div>
+<p>
+ Here's an example of an option for overriding the deduced <span class="bold"><strong>data-generator</strong></span>:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">exponent</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">function</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">(</span><span class="keyword">double</span><span class="special">)&gt;</span> <span class="identifier">f_</span><span class="special">;</span>
+<a class="co" name="boost_assign4co" href="tut.html#boost_assign4"><img src="../../../doc/src/images/callouts/1.png" alt="1" border="0"></a><span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">put</span><span class="special">(</span> <span class="identifier">exponent</span> <span class="special">)</span> <span class="special">%</span> <span class="special">(</span> <span class="identifier">_data</span> <span class="special">=</span> <span class="identifier">f_</span><span class="special">(</span> <span class="identifier">log10</span> <span class="special">)</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="number">1.0</span><span class="special">,</span> <span class="number">10.0</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">1000.0</span><span class="special">,</span> <span class="number">10000.0</span>
+<span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">eps</span> <span class="special">=</span> <span class="identifier">numeric</span><span class="special">::</span><span class="identifier">bounds</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">smallest</span><span class="special">();</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">-</span> <span class="number">0.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span> <span class="identifier">exponent</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">-</span> <span class="number">4.0</span> <span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list"><tr>
+<td width="5%" valign="top" align="left"><p><a name="boost_assign4"></a>1 </p></td>
+<td valign="top" align="left"><p>
+ Equivalent to <code class="computeroutput"><span class="identifier">exponent</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="keyword">double</span><span class="special">(</span> <span class="identifier">log10</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">)</span> <span class="special">)</span> <span class="special">)</span></code>
+ for <code class="literal">x = 1.0, ..., 10000.0</code>
+ </p></td>
+</tr></table></div>
+<p>
+ Option keyword <code class="computeroutput">_data</code> accepts as input two kinds of objects:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ A functor, such as <code class="computeroutput"><span class="identifier">f_</span><span class="special">(</span>
+ <span class="identifier">log10</span> <span class="special">)</span></code>,
+ above
+ </li>
+<li class="listitem">
+ A keyword : <code class="computeroutput">_key</code>, <code class="computeroutput">_element</code>, <code class="computeroutput">_mapped</code>,
+ and <code class="computeroutput">_value</code>.
+ </li>
+</ul></div>
+<p>
+ With <code class="computeroutput">_data <span class="special">=</span> _value</code> the data-generator
+ is changed to the container's value-type constructor <sup>[<a name="id36335155" href="#ftn.id36335155" class="footnote">6</a>]</sup>, and likewise for other keywords. This is only needed in rather
+ special cases .
+ </p>
+<p>
+ Here's an example that changes the internal <span class="bold"><strong>modifier</strong></span>
+ to <code class="computeroutput"><span class="identifier">push_front</span></code>:
+ </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">&lt;</span><span class="identifier">push_front_</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;(</span> <span class="number">3</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span> <span class="special">),</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ As seen from these two examples, there is a difference of syntax between the
+ functor and its dual csv form:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The functor form uses <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code> with an option keyword, say <code class="computeroutput">_push_front</code>.
+ </li>
+<li class="listitem">
+ The csv form specifies the option with a template argument, say <code class="computeroutput"><span class="identifier">push_front_</span></code>.
+ </li>
+</ul></div>
+<p>
+ Consequently, only default constructible options are allowed in the second
+ case. Function <code class="computeroutput">deque</code> works both ways:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">BOOST_AUTO</span><span class="special">(</span> <span class="identifier">_modifier</span><span class="special">,</span> <span class="special">(</span> <span class="identifier">_repeat</span> <span class="special">=</span> <span class="number">2</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">csv</span><span class="special">(</span>
+ <span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">push_front_</span><span class="special">&gt;(</span> <span class="identifier">_nil</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">_modifier</span>
+ <span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">1000</span>
+ <span class="special">),</span>
+ <span class="identifier">csv_deque</span><span class="special">(</span> <span class="number">1000</span><span class="special">,</span> <span class="number">1000</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">100</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Composing the two options, here, could have alternatively been achieved as
+ follows: <code class="computeroutput"><span class="identifier">deque</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span> <span class="identifier">_nil</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">_push_front</span>
+ <span class="special">%</span> <span class="identifier">_modifier</span></code>.
+ This composition syntax extends to an arbitrary number of options.
+ </p>
+<p>
+ Creating a custom modifier-option is facilitated by <a class="link" href="reference/option.html#modifier_macro">macros</a>
+ that manage the overhead.
+ </p>
+<a name="boost_assign.tut.reference_arrays"></a><h4>
+<a name="id36335772"></a>
+ <a class="link" href="tut.html#boost_assign.tut.reference_arrays">Reference arrays</a>
+ </h4>
+<p>
+ In the examples that precede, <code class="computeroutput">csv_deque</code> could be replaced by
+ <a class="link" href="reference/ref.html#ref_csv_array"><code class="computeroutput">ref::csv_array</code></a>, which returns
+ a reference-array. The reciprocal is not true, in general:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ A reference-array is preferable if the values are expensive to copy
+ </li>
+<li class="listitem">
+ It is necessary for working specifically with references
+ </li>
+</ul></div>
+<p>
+ The second case is illustrated below:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">4</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">6</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">max</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">max_element</span><span class="special">(</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">max</span> <span class="special">==</span> <span class="special">&amp;</span><span class="identifier">y</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Here, an implicit conversion takes place, from each of the reference-array's
+ element (a reference wrapper) to the reference it holds. More generally,
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ In read mode, as above, the context usually suffices to cause this conversion.
+ </li>
+<li class="listitem">
+ In write-mode i.e. if the values of the held references are to be modified,
+ explicit conversion is usually required.
+ </li>
+</ul></div>
+<p>
+ Explicit conversion is achieved using a <a href="http://svn.boost.org/svn/boost/trunk/libs/range/doc/html/range/reference/adaptors.html" target="_top">range
+ adaptor</a> identified by keyword <code class="computeroutput">ref::_get</code>:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span> <span class="number">3</span><span class="special">,</span> <span class="number">0</span> <span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span>
+ <span class="identifier">vec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span>
+ <span class="identifier">ref</span><span class="special">::</span><span class="identifier">csv_array</span><span class="special">(</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">|</span> <span class="identifier">ref</span><span class="special">::</span><span class="identifier">_get</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span> <span class="identifier">x</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">y</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">z</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ In keeping with our <span class="emphasis"><em>csv</em></span> convention, <code class="computeroutput">ref::csv_array</code>
+ has a functor dual, <a class="link" href="reference/ref.html#ref_array"><code class="computeroutput">ref::array</code></a>.
+ Unlike <code class="computeroutput">put</code> or <code class="computeroutput">deque</code>, it is unary (not variadic).
+ </p>
+<a name="boost_assign.tut.chaining"></a><h4>
+<a name="id36336356"></a>
+ <a class="link" href="tut.html#boost_assign.tut.chaining">Chaining</a>
+ </h4>
+<p>
+ Chaining ranges is already provided by join in