$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r76805 - in sandbox: tree_node/boost tree_node/boost/detail tree_node/boost/detail/metafunction tree_node/boost/tree_node tree_node/boost/tree_node/algorithm tree_node/boost/tree_node/algorithm/_detail tree_node/libs/tree_node/doc tree_node/libs/tree_node/doc/html tree_node/libs/tree_node/doc/html/tree_node tree_node/libs/tree_node/doc/html/tree_node/concepts tree_node/libs/tree_node/doc/html/tree_node/reference tree_node/libs/tree_node/example utility-container_gen/boost/detail/function utility-container_gen/boost/detail/metafunction utility-container_gen/boost/utility utility-container_gen/libs/utility/container_gen/doc utility-container_gen/libs/utility/container_gen/doc/html utility-container_gen/libs/utility/container_gen/doc/html/container_gen utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference utility-container_gen/libs/utility/container_gen/example
From: sponage_at_[hidden]
Date: 2012-01-31 03:51:02
Author: expaler
Date: 2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
New Revision: 76805
URL: http://svn.boost.org/trac/boost/changeset/76805
Log:
Updated Boost.Utility.ContainerGen and Boost.TreeNode candidate libraries.  Please read the respective changelogs.
Added:
   sandbox/tree_node/boost/detail/base_pointee.hpp   (contents, props changed)
   sandbox/tree_node/boost/detail/metafunction/container_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/detail/metafunction/has_first_type.hpp   (contents, props changed)
   sandbox/tree_node/boost/detail/metafunction/has_second_type.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/algorithm/_detail/
   sandbox/tree_node/boost/tree_node/algorithm/_detail/skew_equal.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/algorithm/_detail/skew_less.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/algorithm/dereference_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/algorithm/equal.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/algorithm/lexicographical_comp_3way.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/algorithm/lexicographical_compare.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/associative_node.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/base.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/binary_node.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/breadth_first_desc_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/breadth_first_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/depth_first_desc_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/depth_first_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/in_order_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/nary_node.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/post_order_desc_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/post_order_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/pre_order_desc_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/pre_order_iterator.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/traversal_state.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/typeof.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/with_depth.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/with_position.hpp   (contents, props changed)
   sandbox/tree_node/boost/tree_node/with_red_black_flag.hpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/changelog.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_assoc_tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_base_tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_binary_tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_descendant_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_full_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_nary_tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_non_assoc_tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concept_type_generator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/concepts.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/index.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/associative_tree_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/base_tree_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/binary_tree_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/full_tree_node_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/nary_tree_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/non_assoc_tree_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node_desc_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/type_generator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node_gen.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node_gen.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/breadth_first_desc_iter.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/breadth_first_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/depth_first_desc_iter.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/depth_first_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/dereference_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/equal.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/in_order_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/lexicographical_compare.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node_gen.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/post_order_desc_iter.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/post_order_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/pre_order_desc_iter.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/pre_order_iterator.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/strict_lexicograph_comp.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/strictly_equal.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/traversal_state.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/tree_node_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth_gen.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position_gen.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_rb_flag.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_rb_flag_base.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_red_black_flag_gen.html   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_associative_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_associative_node_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_associative_node_gen.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_binary_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_binary_node_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_binary_node_gen.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_breadth_first_desc_iter.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_breadth_first_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_depth_first_desc_iter.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_depth_first_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_dereference_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_equal.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_in_order_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_lexicographical_compare.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_nary_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_nary_node_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_nary_node_gen.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_post_order_desc_iter.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_post_order_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_pre_order_desc_iter.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_pre_order_iterator.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_strict_lexicograph_comp.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_strictly_equal.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_traversal_state.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_tree_node_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_depth.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_depth_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_depth_gen.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_position.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_position_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_position_gen.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag_base.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag_gen.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/reference.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/doc/tree_node.qbk   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/associative_node.cpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/binary_node.cpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/default_unconstruct_type.cpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/default_unconstruct_type.hpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/nary_node.cpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/show_functions.cpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/show_functions.hpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/showcase_desc_iterators.hpp   (contents, props changed)
   sandbox/tree_node/libs/tree_node/example/showcase_iterators.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/function/range_equal.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/function/range_less.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_const_iterator.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_const_pointer.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_const_reference.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_difference_type.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_pointer.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_reference.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_size_type.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/has_value_type.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/is_container.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/detail/metafunction/is_input_iterator.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/associative_container_gen.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/container_gen.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/container_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/has_stable_iters_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/is_associative_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/is_multiple_assoc_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/is_random_access_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/is_unique_assoc_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/is_unordered_selector.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/ptr_assoc_container_gen.hpp   (contents, props changed)
   sandbox/utility-container_gen/boost/utility/ptr_container_gen.hpp   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/changelog.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/container_gen.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/changelog.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/associative_container_gen.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/container_gen.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/has_stable_iters_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_associative_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_multiple_assoc_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_random_access_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unique_assoc_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unique_associative_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unordered_selector.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/ptr_assoc_cont_gen.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/ptr_container_gen.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/html/index.html   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_assoc_container_gen.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_container_gen.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_has_stable_iters_sel.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_associative_selector.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_multiple_assoc_sel.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_rand_access_selector.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_unique_assoc_sel.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_unordered_selector.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_ptr_assoc_container_gen.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_ptr_container_gen.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/doc/reference.qbk   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/example/output_char_tallies.cpp   (contents, props changed)
   sandbox/utility-container_gen/libs/utility/container_gen/example/output_shape_stats.cpp   (contents, props changed)
Removed:
   sandbox/tree_node/libs/tree_node/doc/concept_cloneable_tree_node.qbk
   sandbox/tree_node/libs/tree_node/doc/concept_factory_construct.qbk
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/cloneable_tree_node.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/factory_constructible.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/factory.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node_gen.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node_gen.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node_gen.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/shared_tree_node_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_assoc_node_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_assoc_node_gen.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_associative_node.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node_gen.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_acc_base.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_acc_gen.html
   sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_access.html
   sandbox/tree_node/libs/tree_node/doc/ref_factory.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_assoc_node_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_assoc_node_gen.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_associative_node.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node_gen.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_node.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_node_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_raw_node_gen.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_shared_tree_node_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_simple_assoc_node_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_simple_assoc_node_gen.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_simple_associative_node.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_simple_node.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_simple_node_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_simple_node_gen.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_with_child_range.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_with_child_range_base.qbk
   sandbox/tree_node/libs/tree_node/doc/ref_with_child_range_gen.qbk
Added: sandbox/tree_node/boost/detail/base_pointee.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/detail/base_pointee.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,38 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_BASE_POINTEE_HPP_INCLUDED
+#define BOOST_DETAIL_BASE_POINTEE_HPP_INCLUDED
+
+namespace boost { namespace detail {
+
+    template <typename Derived>
+    struct base_pointee
+    {
+        typedef Derived const* const_pointer;
+        typedef Derived* pointer;
+
+        const_pointer get_derived() const;
+
+        pointer get_derived();
+    };
+
+    template <typename Derived>
+    inline typename base_pointee<Derived>::const_pointer
+        base_pointee<Derived>::get_derived() const
+    {
+        return static_cast<const_pointer>(this);
+    }
+
+    template <typename Derived>
+    inline typename base_pointee<Derived>::pointer
+        base_pointee<Derived>::get_derived()
+    {
+        return static_cast<pointer>(this);
+    }
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_BASE_POINTEE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/detail/metafunction/container_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/detail/metafunction/container_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,35 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_CONTAINER_ITERATOR_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_CONTAINER_ITERATOR_HPP_INCLUDED
+
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+namespace boost { namespace detail {
+
+    template <typename T>
+    struct container_iterator
+    {
+     private:
+        typedef typename ::std::tr1::remove_const<T>::type
+                C;
+
+     public:
+        typedef typename ::boost::mpl::if_<
+                    ::std::tr1::is_const<T>
+                  , typename C::const_iterator
+                  , typename C::iterator
+                >::type
+                type;
+
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,container_iterator,(T))
+    };
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_CONTAINER_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/detail/metafunction/has_first_type.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/detail/metafunction/has_first_type.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_FIRST_TYPE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_FIRST_TYPE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_first_type metafunction will determine whether or not
+    // the specified type has a nested 'first_type' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(first_type)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_FIRST_TYPE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/detail/metafunction/has_second_type.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/detail/metafunction/has_second_type.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_SECOND_TYPE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_SECOND_TYPE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_second_argument_type metafunction will determine whether or not
+    // the specified type has a nested 'second_type' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(second_type)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_SECOND_TYPE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,32 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_HPP_INCLUDED
+#define BOOST_TREE_NODE_HPP_INCLUDED
+
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/breadth_first_iterator.hpp>
+#include <boost/tree_node/breadth_first_desc_iterator.hpp>
+#include <boost/tree_node/pre_order_iterator.hpp>
+#include <boost/tree_node/pre_order_desc_iterator.hpp>
+#include <boost/tree_node/post_order_iterator.hpp>
+#include <boost/tree_node/post_order_desc_iterator.hpp>
+#include <boost/tree_node/in_order_iterator.hpp>
+#include <boost/tree_node/depth_first_iterator.hpp>
+#include <boost/tree_node/depth_first_desc_iterator.hpp>
+#include <boost/tree_node/base.hpp>
+#include <boost/tree_node/binary_node.hpp>
+#include <boost/tree_node/nary_node.hpp>
+#include <boost/tree_node/associative_node.hpp>
+#include <boost/tree_node/with_depth.hpp>
+#include <boost/tree_node/with_position.hpp>
+#include <boost/tree_node/with_red_black_flag.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/tree_node/algorithm/equal.hpp>
+#include <boost/tree_node/algorithm/lexicographical_comp_3way.hpp>
+#include <boost/tree_node/algorithm/lexicographical_compare.hpp>
+
+#endif  // BOOST_TREE_NODE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/algorithm/_detail/skew_equal.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/algorithm/_detail/skew_equal.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,45 @@
+// Copyright (C) 2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ALGORITHM_DETAIL_SKEW_EQUAL_HPP_INCLUDED
+#define BOOST_TREE_NODE_ALGORITHM_DETAIL_SKEW_EQUAL_HPP_INCLUDED
+
+#include <boost/tree_node/depth_first_iterator.hpp>
+#include <boost/assert.hpp>
+
+namespace boost { namespace tree_node { namespace _detail {
+
+    template <typename Node1, typename Node2>
+    bool skew_equal(Node1 const& node1, Node2 const& node2)
+    {
+        ::boost::tree_node::depth_first_iterator<Node1 const> itr1(node1);
+        ::boost::tree_node::depth_first_iterator<Node2 const> itr2(node2);
+
+        while (itr1)
+        {
+            BOOST_ASSERT(itr2 && "The nodes are not lexicographically equal!");
+
+            if (
+                ::boost::tree_node::traversal_state(itr1)
+             == ::boost::tree_node::traversal_state(itr2)
+            )
+            {
+                ++itr1;
+                ++itr2;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        BOOST_ASSERT(!itr2 && "The nodes are not lexicographically equal!");
+
+        return true;
+    }
+}}}  // namespace boost::tree_node::_detail
+
+#endif  // BOOST_TREE_NODE_ALGORITHM_DETAIL_SKEW_EQUAL_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/algorithm/_detail/skew_less.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/algorithm/_detail/skew_less.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,51 @@
+// Copyright (C) 2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ALGORITHM_DETAIL_SKEW_LESS_HPP_INCLUDED
+#define BOOST_TREE_NODE_ALGORITHM_DETAIL_SKEW_LESS_HPP_INCLUDED
+
+#include <boost/tree_node/depth_first_iterator.hpp>
+#include <boost/assert.hpp>
+
+namespace boost { namespace tree_node { namespace _detail {
+
+    template <typename Node1, typename Node2>
+    bool skew_less(Node1 const& node1, Node2 const& node2)
+    {
+        ::boost::tree_node::depth_first_iterator<Node1 const> itr1(node1);
+        ::boost::tree_node::depth_first_iterator<Node2 const> itr2(node2);
+
+        while (itr1)
+        {
+            BOOST_ASSERT(itr2 && "The nodes are not lexicographically equal!");
+
+            if (
+                ::boost::tree_node::traversal_state(itr1)
+              < ::boost::tree_node::traversal_state(itr2)
+            )
+            {
+                return true;
+            }
+
+            if (
+                ::boost::tree_node::traversal_state(itr2)
+              < ::boost::tree_node::traversal_state(itr1)
+            )
+            {
+                return false;
+            }
+
+            ++itr1;
+            ++itr2;
+        }
+
+        BOOST_ASSERT(!itr2 && "The nodes are not lexicographically equal!");
+
+        return false;
+    }
+}}}  // namespace boost::tree_node::_detail
+
+#endif  // BOOST_TREE_NODE_ALGORITHM_DETAIL_SKEW_LESS_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/algorithm/dereference_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/algorithm/dereference_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,115 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ALGORITHM_DEREFERENCE_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_ALGORITHM_DEREFERENCE_ITERATOR_HPP_INCLUDED
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/ref.hpp>
+#include <boost/typeof/typeof.hpp>
+#include <boost/detail/metafunction/has_first_type.hpp>
+#include <boost/detail/metafunction/has_second_type.hpp>
+
+//[reference__dereference_iterator
+namespace boost { namespace tree_node {
+  //<-
+  namespace _detail {
+
+    template <typename Iterator>
+    class dereference_iterator_helper
+    {
+        typedef typename ::boost::iterator_value<Iterator>::type
+                _value_type;
+        typedef typename ::boost::mpl::and_<
+                    typename ::boost::detail::has_first_type<_value_type>::type
+                  , typename ::boost::detail::has_second_type<
+                        _value_type
+                    >::type
+                >::type
+                _is_associative;
+
+        struct _associative_result
+        {
+            typedef typename ::boost::unwrap_reference<
+                        BOOST_TYPEOF_TPL(::boost::ref(Iterator()->second))
+                    >::type&
+                    type;
+        };
+
+     public:
+        typedef Iterator
+                argument_type;
+        typedef typename ::boost::mpl::eval_if<
+                    _is_associative
+                  , _associative_result
+                  , ::boost::iterator_reference<Iterator>
+                >::type
+                result_type;
+
+        result_type operator()(argument_type itr) const;
+
+     private:
+        static result_type _evaluate(Iterator itr, ::boost::mpl::true_);
+
+        static result_type _evaluate(Iterator itr, ::boost::mpl::false_);
+    };
+
+    template <typename Iterator>
+    inline typename dereference_iterator_helper<Iterator>::result_type
+        dereference_iterator_helper<Iterator>::operator()(
+            argument_type itr
+        ) const
+    {
+        return _evaluate(itr, _is_associative());
+    }
+
+    template <typename Iterator>
+    inline typename dereference_iterator_helper<Iterator>::result_type
+        dereference_iterator_helper<Iterator>::_evaluate(
+            Iterator itr
+          , ::boost::mpl::true_
+        )
+    {
+        return itr->second;
+    }
+
+    template <typename Iterator>
+    inline typename dereference_iterator_helper<Iterator>::result_type
+        dereference_iterator_helper<Iterator>::_evaluate(
+            Iterator itr
+          , ::boost::mpl::false_
+        )
+    {
+        return *itr;
+    }
+  }  // namespace _detail
+  //->
+
+//<-
+#if 0
+//->
+    template <typename Iterator>
+    implementation_defined dereference_iterator(Iterator itr);
+//<-
+#endif
+//->
+
+    //<-
+    template <typename Iterator>
+    inline typename _detail::dereference_iterator_helper<Iterator>::result_type
+        dereference_iterator(Iterator itr)
+    {
+        return _detail::dereference_iterator_helper<Iterator>()(itr);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_ALGORITHM_DEREFERENCE_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/algorithm/equal.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/algorithm/equal.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,331 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ALGORITHM_EQUAL_HPP_INCLUDED
+#define BOOST_TREE_NODE_ALGORITHM_EQUAL_HPP_INCLUDED
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/phoenix/core/argument.hpp>
+#include <boost/phoenix/operator/comparison.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/detail/metafunction/has_first_type.hpp>
+#include <boost/detail/metafunction/has_second_type.hpp>
+
+namespace boost { namespace tree_node { namespace _detail {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+      , typename IsStrict
+    >
+    bool
+        equal_impl(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+          , IsStrict
+        )
+    {
+        while (itr1)
+        {
+            if (
+                itr2
+             && (!IsStrict::value || (itr1 == itr2))
+             && key_comp(itr1->first, itr2->first)
+             && value_comp(itr1->second.get_data(), itr2->second.get_data())
+            )
+            {
+                ++itr1;
+                ++itr2;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        return !itr2;
+    }
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename BinaryPredicate
+      , typename IsStrict
+    >
+    bool
+        equal_impl(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+          , IsStrict
+        )
+    {
+        while (itr1)
+        {
+            if (
+                itr2
+             && (!IsStrict::value || (itr1 == itr2))
+             && comp(itr1->get_data(), itr2->get_data())
+            )
+            {
+                ++itr1;
+                ++itr2;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        return !itr2;
+    }
+
+    template <typename Iterator1, typename Iterator2, typename IsStrict>
+    inline bool
+        equal_dispatch(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , IsStrict is_strict
+          , ::boost::mpl::true_
+          , ::boost::mpl::true_
+        )
+    {
+        return equal_impl(
+            itr1
+          , itr2
+          , (
+                ::boost::phoenix::arg_names::arg1
+             == ::boost::phoenix::arg_names::arg2
+            )
+          , (
+                ::boost::phoenix::arg_names::arg1
+             == ::boost::phoenix::arg_names::arg2
+            )
+          , is_strict
+        );
+    }
+
+    template <typename Iterator1, typename Iterator2, typename IsStrict>
+    inline bool
+        equal_dispatch(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , IsStrict is_strict
+          , ::boost::mpl::false_
+          , ::boost::mpl::false_
+        )
+    {
+        return equal_impl(
+            itr1
+          , itr2
+          , (
+                ::boost::phoenix::arg_names::arg1
+             == ::boost::phoenix::arg_names::arg2
+            )
+          , is_strict
+        );
+    }
+}}}  // namespace boost::tree_node::_detail
+
+//[reference__equal__with_comparators
+namespace boost { namespace tree_node {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    bool
+        equal(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        );
+
+    //<-
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    inline bool
+        equal(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        )
+    {
+        return ::boost::tree_node::_detail::equal_impl(
+            itr1
+          , itr2
+          , key_comp
+          , value_comp
+          , ::boost::mpl::false_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strictly_equal__with_comparators
+namespace boost { namespace tree_node {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    bool
+        strictly_equal(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        );
+
+    //<-
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    inline bool
+        strictly_equal(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        )
+    {
+        return ::boost::tree_node::_detail::equal_impl(
+            itr1
+          , itr2
+          , key_comp
+          , value_comp
+          , ::boost::mpl::true_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__equal__with_comparator
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    bool equal(Iterator1 itr1, Iterator2 itr2, BinaryPredicate comp);
+
+    //<-
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    inline bool equal(Iterator1 itr1, Iterator2 itr2, BinaryPredicate comp)
+    {
+        return ::boost::tree_node::_detail::equal_impl(
+            itr1
+          , itr2
+          , comp
+          , ::boost::mpl::false_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strictly_equal__with_comparator
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    bool strictly_equal(Iterator1 itr1, Iterator2 itr2, BinaryPredicate comp);
+
+    //<-
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    inline bool
+        strictly_equal(Iterator1 itr1, Iterator2 itr2, BinaryPredicate comp)
+    {
+        return ::boost::tree_node::_detail::equal_impl(
+            itr1
+          , itr2
+          , comp
+          , ::boost::mpl::true_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__equal
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2>
+    bool equal(Iterator1 itr1, Iterator2 itr2);
+
+    //<-
+    template <typename Iterator1, typename Iterator2>
+    inline bool equal(Iterator1 itr1, Iterator2 itr2)
+    {
+        typedef typename ::boost::iterator_value<Iterator1>::type _value_type1;
+        typedef typename ::boost::iterator_value<Iterator2>::type _value_type2;
+
+        return ::boost::tree_node::_detail::equal_dispatch(
+            itr1
+          , itr2
+          , ::boost::mpl::false_()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type1>::type
+              , typename ::boost::detail::has_second_type<_value_type1>::type
+            >::type()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type2>::type
+              , typename ::boost::detail::has_second_type<_value_type2>::type
+            >::type()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strictly_equal
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2>
+    bool strictly_equal(Iterator1 itr1, Iterator2 itr2);
+
+    //<-
+    template <typename Iterator1, typename Iterator2>
+    inline bool strictly_equal(Iterator1 itr1, Iterator2 itr2)
+    {
+        typedef typename ::boost::iterator_value<Iterator1>::type _value_type1;
+        typedef typename ::boost::iterator_value<Iterator2>::type _value_type2;
+
+        return ::boost::tree_node::_detail::equal_dispatch(
+            itr1
+          , itr2
+          , ::boost::mpl::true_()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type1>::type
+              , typename ::boost::detail::has_second_type<_value_type1>::type
+            >::type()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type2>::type
+              , typename ::boost::detail::has_second_type<_value_type2>::type
+            >::type()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_ALGORITHM_EQUAL_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/algorithm/lexicographical_comp_3way.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/algorithm/lexicographical_comp_3way.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,422 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ALGORITHM_LEXICOGRAPHICAL_COMP_3WAY_HPP_INCLUDED
+#define BOOST_TREE_NODE_ALGORITHM_LEXICOGRAPHICAL_COMP_3WAY_HPP_INCLUDED
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/phoenix/core/argument.hpp>
+#include <boost/phoenix/operator/comparison.hpp>
+#include <boost/iterator/iterator_traits.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/detail/metafunction/has_first_type.hpp>
+#include <boost/detail/metafunction/has_second_type.hpp>
+
+namespace boost { namespace tree_node { namespace _detail {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+      , typename IsStrict
+    >
+    int
+        lexicographical_compare_impl(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+          , IsStrict
+        )
+    {
+        while (itr2)
+        {
+            if (itr1)
+            {
+                if (IsStrict::value)
+                {
+                    if (
+                        ::boost::tree_node::traversal_state(itr1)
+                      < ::boost::tree_node::traversal_state(itr2)
+                    )
+                    {
+                        return -1;
+                    }
+
+                    if (
+                        ::boost::tree_node::traversal_state(itr2)
+                      < ::boost::tree_node::traversal_state(itr1)
+                    )
+                    {
+                        return 1;
+                    }
+                }
+
+                if (key_comp(itr1->first, itr2->first))
+                {
+                    return -1;
+                }
+
+                if (key_comp(itr2->first, itr1->first))
+                {
+                    return 1;
+                }
+
+                if (
+                    value_comp(
+                        itr1->second.get_data()
+                      , itr2->second.get_data()
+                    )
+                )
+                {
+                    return -1;
+                }
+
+                if (
+                    value_comp(
+                        itr2->second.get_data()
+                      , itr1->second.get_data()
+                    )
+                )
+                {
+                    return 1;
+                }
+
+                ++itr1;
+                ++itr2;
+            }
+            else
+            {
+                return -1;
+            }
+        }
+
+        return itr1 ? 1 : 0;
+    }
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename BinaryPredicate
+      , typename IsStrict
+    >
+    int
+        lexicographical_compare_impl(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+          , IsStrict
+        )
+    {
+        while (itr2)
+        {
+            if (itr1)
+            {
+                if (IsStrict::value)
+                {
+                    if (
+                        ::boost::tree_node::traversal_state(itr1)
+                      < ::boost::tree_node::traversal_state(itr2)
+                    )
+                    {
+                        return -1;
+                    }
+
+                    if (
+                        ::boost::tree_node::traversal_state(itr2)
+                      < ::boost::tree_node::traversal_state(itr1)
+                    )
+                    {
+                        return 1;
+                    }
+                }
+
+                if (comp(itr1->get_data(), itr2->get_data()))
+                {
+                    return -1;
+                }
+
+                if (comp(itr2->get_data(), itr1->get_data()))
+                {
+                    return 1;
+                }
+
+                ++itr1;
+                ++itr2;
+            }
+            else
+            {
+                return -1;
+            }
+        }
+
+        return itr1 ? 1 : 0;
+    }
+
+    template <typename Iterator1, typename Iterator2, typename IsStrict>
+    inline int
+        lexicographical_compare_dispatch(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , IsStrict is_strict
+          , ::boost::mpl::true_
+          , ::boost::mpl::true_
+        )
+    {
+        return lexicographical_compare_impl(
+            itr1
+          , itr2
+          , (
+                ::boost::phoenix::arg_names::arg1
+              < ::boost::phoenix::arg_names::arg2
+            )
+          , (
+                ::boost::phoenix::arg_names::arg1
+              < ::boost::phoenix::arg_names::arg2
+            )
+          , is_strict
+        );
+    }
+
+    template <typename Iterator1, typename Iterator2, typename IsStrict>
+    inline int
+        lexicographical_compare_dispatch(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , IsStrict is_strict
+          , ::boost::mpl::false_
+          , ::boost::mpl::false_
+        )
+    {
+        return lexicographical_compare_impl(
+            itr1
+          , itr2
+          , (
+                ::boost::phoenix::arg_names::arg1
+              < ::boost::phoenix::arg_names::arg2
+            )
+          , is_strict
+        );
+    }
+}}}  // namespace boost::tree_node::_detail
+
+//[reference__lexicographical_compare_3way__with_comparators
+namespace boost { namespace tree_node {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    int
+        lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        );
+
+    //<-
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    inline int
+        lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        )
+    {
+        return ::boost::tree_node::_detail::lexicographical_compare_impl(
+            itr1
+          , itr2
+          , key_comp
+          , value_comp
+          , ::boost::mpl::false_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strict_lexicographical_compare_3way__with_comparators
+namespace boost { namespace tree_node {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    int
+        strict_lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        );
+
+    //<-
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    inline int
+        strict_lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        )
+    {
+        return ::boost::tree_node::_detail::lexicographical_compare_impl(
+            itr1
+          , itr2
+          , key_comp
+          , value_comp
+          , ::boost::mpl::true_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__lexicographical_compare_3way__with_comparator
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    int
+        lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        );
+
+    //<-
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    inline int
+        lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        )
+    {
+        return ::boost::tree_node::_detail::lexicographical_compare_impl(
+            itr1
+          , itr2
+          , comp
+          , ::boost::mpl::false_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strict_lexicographical_compare_3way__with_comparator
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    int
+        strict_lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        );
+
+    //<-
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    inline int
+        strict_lexicographical_compare_3way(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        )
+    {
+        return ::boost::tree_node::_detail::lexicographical_compare_impl(
+            itr1
+          , itr2
+          , comp
+          , ::boost::mpl::true_()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__lexicographical_compare_3way
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2>
+    int lexicographical_compare_3way(Iterator1 itr1, Iterator2 itr2);
+
+    //<-
+    template <typename Iterator1, typename Iterator2>
+    inline int
+        lexicographical_compare_3way(Iterator1 itr1, Iterator2 itr2)
+    {
+        typedef typename ::boost::iterator_value<Iterator1>::type _value_type1;
+        typedef typename ::boost::iterator_value<Iterator2>::type _value_type2;
+
+        return ::boost::tree_node::_detail::lexicographical_compare_dispatch(
+            itr1
+          , itr2
+          , ::boost::mpl::false_()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type1>::type
+              , typename ::boost::detail::has_second_type<_value_type1>::type
+            >::type()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type2>::type
+              , typename ::boost::detail::has_second_type<_value_type2>::type
+            >::type()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strict_lexicographical_compare_3way
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2>
+    int strict_lexicographical_compare_3way(Iterator1 itr1, Iterator2 itr2);
+
+    //<-
+    template <typename Iterator1, typename Iterator2>
+    inline int
+        strict_lexicographical_compare_3way(Iterator1 itr1, Iterator2 itr2)
+    {
+        typedef typename ::boost::iterator_value<Iterator1>::type _value_type1;
+        typedef typename ::boost::iterator_value<Iterator2>::type _value_type2;
+
+        return ::boost::tree_node::_detail::lexicographical_compare_dispatch(
+            itr1
+          , itr2
+          , ::boost::mpl::true_()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type1>::type
+              , typename ::boost::detail::has_second_type<_value_type1>::type
+            >::type()
+          , typename ::boost::mpl::and_<
+                typename ::boost::detail::has_first_type<_value_type2>::type
+              , typename ::boost::detail::has_second_type<_value_type2>::type
+            >::type()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_ALGORITHM_LEXICOGRAPHICAL_COMP_3WAY_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/algorithm/lexicographical_compare.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/algorithm/lexicographical_compare.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,195 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ALGORITHM_LEXICOGRAPHICAL_COMPARE_HPP_INCLUDED
+#define BOOST_TREE_NODE_ALGORITHM_LEXICOGRAPHICAL_COMPARE_HPP_INCLUDED
+
+#include <boost/tree_node/algorithm/lexicographical_comp_3way.hpp>
+
+//[reference__lexicographical_compare__with_comparators
+namespace boost { namespace tree_node {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    bool
+        lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        );
+
+    //<-
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    inline bool
+        lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        )
+    {
+        return ::boost::tree_node::lexicographical_compare_3way(
+            itr1
+          , itr2
+          , key_comp
+          , value_comp
+        ) < 0;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strict_lexicographical_compare__with_comparators
+namespace boost { namespace tree_node {
+
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    bool
+        strict_lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        );
+
+    //<-
+    template <
+        typename Iterator1
+      , typename Iterator2
+      , typename KeyCompare
+      , typename ValueCompare
+    >
+    inline bool
+        strict_lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , KeyCompare key_comp
+          , ValueCompare value_comp
+        )
+    {
+        return ::boost::tree_node::strict_lexicographical_compare_3way(
+            itr1
+          , itr2
+          , key_comp
+          , value_comp
+        ) < 0;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__lexicographical_compare__with_comparator
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    bool
+        lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        );
+
+    //<-
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    inline bool
+        lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        )
+    {
+        return ::boost::tree_node::lexicographical_compare_3way(
+            itr1
+          , itr2
+          , comp
+        ) < 0;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strict_lexicographical_compare__with_comparator
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    bool
+        strict_lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        );
+
+    //<-
+    template <typename Iterator1, typename Iterator2, typename BinaryPredicate>
+    inline bool
+        strict_lexicographical_compare(
+            Iterator1 itr1
+          , Iterator2 itr2
+          , BinaryPredicate comp
+        )
+    {
+        return ::boost::tree_node::strict_lexicographical_compare_3way(
+            itr1
+          , itr2
+          , comp
+        ) < 0;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__lexicographical_compare
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2>
+    bool lexicographical_compare(Iterator1 itr1, Iterator2 itr2);
+
+    //<-
+    template <typename Iterator1, typename Iterator2>
+    inline bool lexicographical_compare(Iterator1 itr1, Iterator2 itr2)
+    {
+        return (
+            ::boost::tree_node::lexicographical_compare_3way(itr1, itr2) < 0
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__strict_lexicographical_compare
+namespace boost { namespace tree_node {
+
+    template <typename Iterator1, typename Iterator2>
+    bool strict_lexicographical_compare(Iterator1 itr1, Iterator2 itr2);
+
+    //<-
+    template <typename Iterator1, typename Iterator2>
+    inline bool strict_lexicographical_compare(Iterator1 itr1, Iterator2 itr2)
+    {
+        return (
+            ::boost::tree_node::strict_lexicographical_compare_3way(itr1, itr2)
+          < 0
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_ALGORITHM_LEXICOGRAPHICAL_COMPARE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/associative_node.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/associative_node.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,1100 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_ASSOCIATIVE_NODE_HPP_INCLUDED
+#define BOOST_TREE_NODE_ASSOCIATIVE_NODE_HPP_INCLUDED
+
+#include <utility>
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/apply_wrap.hpp>
+#include <boost/move/move.hpp>
+#include <boost/iterator/transform_iterator.hpp>
+#include <boost/utility/associative_container_gen.hpp>
+#include <boost/utility/has_stable_iters_selector.hpp>
+#ifdef BOOST_MSVC
+#include <boost/utility/is_unordered_selector.hpp>
+#else
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/or.hpp>
+#endif
+#include <boost/tree_node/base.hpp>
+#include <boost/tree_node/depth_first_desc_iterator.hpp>
+#include <boost/tree_node/breadth_first_desc_iterator.hpp>
+#include <boost/tree_node/algorithm/lexicographical_comp_3way.hpp>
+#include <boost/tree_node/algorithm/_detail/skew_equal.hpp>
+#include <boost/tree_node/algorithm/_detail/skew_less.hpp>
+
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived
+      , typename Key
+      , typename Data
+      , typename AssociativeContainerSelector
+    >
+    class associative_node_base
+      : public
+        //[reference__associative_node_base__bases
+        tree_node_base<Derived>
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(associative_node_base);
+        typedef typename ::boost::mpl::apply_wrap2<
+                    associative_container_gen<
+                        AssociativeContainerSelector
+                    >
+                  , Key
+                  , Derived
+                >::type
+                children;
+
+     public:
+        //[reference__associative_node_base__traits
+        struct traits
+        {
+            typedef Key key_type;
+            typedef Data data_type;
+        };
+        //]
+
+        //[reference__associative_node_base__pointer
+        typedef typename tree_node_base<Derived>::pointer
+                pointer;
+        //]
+
+        //[reference__associative_node_base__const_pointer
+        typedef typename tree_node_base<Derived>::const_pointer
+                const_pointer;
+        //]
+
+        //[reference__associative_node_base__iterator
+        typedef // implementation_defined
+                //<-
+                typename children::iterator
+                //->
+                iterator;
+        //]
+
+        //[reference__associative_node_base__const_iterator
+        typedef // implementation_defined
+                //<-
+                typename children::const_iterator
+                //->
+                const_iterator;
+        //]
+
+     private:
+        children                   _children;
+        pointer                    _parent;
+        typename traits::data_type _data;
+
+     public:
+        //[reference__associative_node_base__default_ctor
+        associative_node_base();
+        //]
+
+        //[reference__associative_node_base__data_ctor
+        explicit associative_node_base(
+            typename traits::data_type const& data
+        );
+        //]
+
+        //[reference__associative_node_base__copy_ctor
+        associative_node_base(associative_node_base const& copy);
+        //]
+
+        associative_node_base(BOOST_RV_REF(associative_node_base) source);
+
+        associative_node_base&
+            operator=(BOOST_COPY_ASSIGN_REF(associative_node_base) copy);
+
+        associative_node_base&
+            operator=(BOOST_RV_REF(associative_node_base) source);
+
+        //[reference__associative_node_base__get_data__const
+        typename traits::data_type const& get_data() const;
+        //]
+
+        //[reference__associative_node_base__get_data
+        typename traits::data_type& get_data();
+        //]
+
+        //[reference__associative_node_base__get_parent_ptr__const
+        const_pointer get_parent_ptr() const;
+        //]
+
+        //[reference__associative_node_base__get_parent_ptr
+        pointer get_parent_ptr();
+        //]
+
+        //[reference__associative_node_base__add_child__data
+        iterator
+            add_child(
+                typename traits::key_type const& key
+              , typename traits::data_type const& data
+            );
+        //]
+
+        //[reference__associative_node_base__add_child
+        iterator add_child(typename traits::key_type const& key);
+        //]
+
+        //[reference__associative_node_base__add_child_copy
+        iterator
+            add_child_copy(
+                typename traits::key_type const& key
+              , Derived const& copy
+            );
+        //]
+
+        //[reference__associative_node_base__begin__const
+        const_iterator begin() const;
+        //]
+
+        //[reference__associative_node_base__begin
+        iterator begin();
+        //]
+
+        //[reference__associative_node_base__end__const
+        const_iterator end() const;
+        //]
+
+        //[reference__associative_node_base__end
+        iterator end();
+        //]
+
+        //[reference__associative_node_base__empty
+        bool empty() const;
+        //]
+
+        //[reference__associative_node_base__clear
+        void clear();
+        //]
+
+        //[reference__associative_node_base__find_child__const
+        const_iterator
+            find_child(typename traits::key_type const& key) const;
+        //]
+
+        //[reference__associative_node_base__find_child
+        iterator find_child(typename traits::key_type const& key);
+        //]
+
+        //[reference__associative_node_base__find_children__const
+        ::std::pair<const_iterator,const_iterator>
+            find_children(typename traits::key_type const& key) const;
+        //]
+
+        //[reference__associative_node_base__find_children
+        ::std::pair<iterator,iterator>
+            find_children(typename traits::key_type const& key);
+        //]
+
+        //[reference__associative_node_base__remove_children
+        ::std::size_t remove_children(typename traits::key_type const& key);
+        //]
+
+     private:
+        template <typename Arg>
+        iterator
+            _add_child(
+                typename traits::key_type const& key
+              , Arg const& arg
+            );
+
+        template <typename Arg>
+        iterator
+            _add_child(
+                typename traits::key_type const& key
+              , Arg const& arg
+              , ::boost::mpl::true_
+            );
+
+        template <typename Arg>
+        iterator
+            _add_child(
+                typename traits::key_type const& key
+              , Arg const& arg
+              , ::boost::mpl::false_
+            );
+
+        iterator _add_child_def(typename traits::key_type const& key);
+
+        iterator
+            _add_child_def(
+                typename traits::key_type const& key
+              , ::boost::mpl::true_
+            );
+
+        iterator
+            _add_child_def(
+                typename traits::key_type const& key
+              , ::boost::mpl::false_
+            );
+        // We shouldn't need all of the above private methods, but we do.
+
+        void _initialize(iterator& itr);
+
+        void _clone(associative_node_base const& copy);
+    };
+
+    template <typename Derived, typename K, typename D, typename A>
+    associative_node_base<Derived,K,D,A>::associative_node_base()
+      : _children(), _parent(), _data()
+    {
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    associative_node_base<Derived,K,D,A>::associative_node_base(
+        typename traits::data_type const& data
+    ) : _children(), _parent(), _data(data)
+    {
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    associative_node_base<Derived,K,D,A>::associative_node_base(
+        associative_node_base const& copy
+    ) : _children(), _parent(), _data(copy._data)
+    {
+        _clone(copy);
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    associative_node_base<Derived,K,D,A>::associative_node_base(
+        BOOST_RV_REF(associative_node_base) source
+    ) : _children(::boost::move(source._children))
+      , _parent()
+      , _data(::boost::move(source._data))
+    {
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    associative_node_base<Derived,K,D,A>&
+        associative_node_base<Derived,K,D,A>::operator=(
+            BOOST_COPY_ASSIGN_REF(associative_node_base) copy
+        )
+    {
+        if (this != ©)
+        {
+            associative_node_base twin(copy);
+
+            _children = ::boost::move(twin._children);
+            _data = ::boost::move(twin._data);
+
+            for (iterator itr = begin(); itr != end(); ++itr)
+            {
+                itr->second._parent = this->get_derived();
+            }
+
+            this->shallow_update_derived();
+        }
+
+        return *this;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    associative_node_base<Derived,K,D,A>&
+        associative_node_base<Derived,K,D,A>::operator=(
+            BOOST_RV_REF(associative_node_base) source
+        )
+    {
+        if (this != &source)
+        {
+            _children = ::boost::move(source._children);
+            _data = ::boost::move(source._data);
+
+            for (iterator itr = begin(); itr != end(); ++itr)
+            {
+                itr->second._parent = this->get_derived();
+            }
+
+            this->shallow_update_derived();
+        }
+
+        return *this;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<
+        Derived
+      , K
+      , D
+      , A
+    >::traits::data_type const&
+        associative_node_base<Derived,K,D,A>::get_data() const
+    {
+        return _data;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<
+        Derived
+      , K
+      , D
+      , A
+    >::traits::data_type&
+        associative_node_base<Derived,K,D,A>::get_data()
+    {
+        return _data;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<Derived,K,D,A>::const_pointer
+        associative_node_base<Derived,K,D,A>::get_parent_ptr() const
+    {
+        return _parent;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<Derived,K,D,A>::pointer
+        associative_node_base<Derived,K,D,A>::get_parent_ptr()
+    {
+        return _parent;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::add_child(
+            typename traits::key_type const& key
+          , typename traits::data_type const& data
+        )
+    {
+        iterator result = _add_child(key, data);
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::add_child(
+            typename traits::key_type const& key
+        )
+    {
+        iterator result = _add_child_def(key);
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::add_child_copy(
+            typename traits::key_type const& key
+          , Derived const& copy
+        )
+    {
+        iterator result = _add_child(key, copy);
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<
+        Derived
+      , K
+      , D
+      , A
+    >::const_iterator
+        associative_node_base<Derived,K,D,A>::begin() const
+    {
+        return _children.begin();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::begin()
+    {
+        return _children.begin();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<
+        Derived
+      , K
+      , D
+      , A
+    >::const_iterator
+        associative_node_base<Derived,K,D,A>::end() const
+    {
+        return _children.end();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::end()
+    {
+        return _children.end();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline bool associative_node_base<Derived,K,D,A>::empty() const
+    {
+        return _children.empty();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline void associative_node_base<Derived,K,D,A>::clear()
+    {
+        _children.clear();
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<Derived,K,D,A>::const_iterator
+        associative_node_base<Derived,K,D,A>::find_child(
+            typename traits::key_type const& key
+        ) const
+    {
+        return _children.find(key);
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::find_child(
+            typename traits::key_type const& key
+        )
+    {
+        return _children.find(key);
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline ::std::pair<
+        typename associative_node_base<Derived,K,D,A>::const_iterator
+      , typename associative_node_base<Derived,K,D,A>::const_iterator
+    >
+        associative_node_base<Derived,K,D,A>::find_children(
+            typename traits::key_type const& key
+        ) const
+    {
+        return _children.equal_range(key);
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline ::std::pair<
+        typename associative_node_base<Derived,K,D,A>::iterator
+      , typename associative_node_base<Derived,K,D,A>::iterator
+    >
+        associative_node_base<Derived,K,D,A>::find_children(
+            typename traits::key_type const& key
+        )
+    {
+        return _children.equal_range(key);
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    ::std::size_t
+        associative_node_base<Derived,K,D,A>::remove_children(
+            typename traits::key_type const& key
+        )
+    {
+        ::std::size_t result = _children.erase(key);
+
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    template <typename Arg>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::_add_child(
+            typename traits::key_type const& key
+          , Arg const& arg
+        )
+    {
+#ifdef BOOST_MSVC
+        return _add_child(key, arg, ::boost::is_unordered_selector<A>());
+#else
+        return _add_child(
+            key
+          , arg
+          , ::boost::mpl::or_<
+                ::std::tr1::is_same<A,::boost::hash_setS>
+              , ::std::tr1::is_same<A,::boost::hash_mapS>
+            >()
+        );
+#endif
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    template <typename Arg>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::_add_child(
+            typename traits::key_type const& key
+          , Arg const& arg
+          , ::boost::mpl::true_
+        )
+    {
+#ifdef BOOST_MSVC
+        ::std::pair<iterator,bool> p = _children.emplace(
+            ::boost::move(::std::make_pair(key, arg))
+        );
+#else
+        ::std::pair<iterator,bool> p = _children.emplace(key, Derived(arg));
+#endif
+
+        if (p.second)
+        {
+            _initialize(p.first);
+        }
+
+        return p.first;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    template <typename Arg>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::_add_child(
+            typename traits::key_type const& key
+          , Arg const& arg
+          , ::boost::mpl::false_
+        )
+    {
+#ifdef BOOST_MSVC
+        iterator child_itr = _children.emplace(key, arg);
+#else
+        iterator child_itr = _children.emplace(key, Derived(arg));
+#endif
+        _initialize(child_itr);
+        return child_itr;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::_add_child_def(
+            typename traits::key_type const& key
+        )
+    {
+#ifdef BOOST_MSVC
+        return _add_child_def(key, ::boost::is_unordered_selector<A>());
+#else
+        return _add_child_def(
+            key
+          , ::boost::mpl::or_<
+                ::std::tr1::is_same<A,::boost::hash_setS>
+              , ::std::tr1::is_same<A,::boost::hash_mapS>
+            >()
+        );
+#endif
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::_add_child_def(
+            typename traits::key_type const& key
+          , ::boost::mpl::true_
+        )
+    {
+#ifdef BOOST_MSVC
+        ::std::pair<iterator,bool> p = _children.emplace(
+            ::boost::move(::std::make_pair(key, D()))
+        );
+#else
+        ::std::pair<iterator,bool> p = _children.emplace(key, Derived());
+#endif
+
+        if (p.second)
+        {
+            _initialize(p.first);
+        }
+
+        return p.first;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    typename associative_node_base<Derived,K,D,A>::iterator
+        associative_node_base<Derived,K,D,A>::_add_child_def(
+            typename traits::key_type const& key
+          , ::boost::mpl::false_
+        )
+    {
+#ifdef BOOST_MSVC
+        iterator child_itr = _children.emplace(key);
+#else
+        iterator child_itr = _children.emplace(key, Derived());
+#endif
+        _initialize(child_itr);
+        return child_itr;
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    inline void
+        associative_node_base<Derived,K,D,A>::_initialize(iterator& itr)
+    {
+        itr->second._parent = this->get_derived();
+        itr->second.set_position_derived(
+            itr
+          , ::boost::has_stable_iterators_selector<A>()
+        );
+    }
+
+    template <typename Derived, typename K, typename D, typename A>
+    void
+        associative_node_base<Derived,K,D,A>::_clone(
+            associative_node_base const& copy
+        )
+    {
+        pointer p = this->get_derived();
+
+        for (
+            ::boost::tree_node::depth_first_descendant_iterator<
+                Derived const
+            > copy_itr(*copy.get_derived());
+            copy_itr;
+            ++copy_itr
+        )
+        {
+            switch (::boost::tree_node::traversal_state(copy_itr))
+            {
+                case ::boost::tree_node::pre_order_traversal:
+                {
+                    p = &p->_add_child(
+                        copy_itr->first
+                      , copy_itr->second.get_data()
+                    )->second;
+                    break;
+                }
+
+                case ::boost::tree_node::post_order_traversal:
+                {
+                    p = p->_parent;
+                    break;
+                }
+            }
+        }
+
+        this->deep_update_derived();
+    }
+}}  // namespace boost::tree_node
+
+//[reference__associative_node_base__operator_equals
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator==(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator==(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        )
+    {
+        return (
+            (lhs.get_data() == rhs.get_data())
+         && (
+                0 == ::boost::tree_node::lexicographical_compare_3way(
+                    ::boost::tree_node::breadth_first_descendant_iterator<
+                        Derived1 const
+                    >(*lhs.get_derived())
+                  , ::boost::tree_node::breadth_first_descendant_iterator<
+                        Derived2 const
+                    >(*rhs.get_derived())
+                )
+            )
+         && ::boost::tree_node::_detail::skew_equal(
+                *lhs.get_derived()
+              , *rhs.get_derived()
+            )
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__associative_node_base__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator!=(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    inline bool
+        operator!=(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__associative_node_base__operator_less_than
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator<(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator<(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        )
+    {
+        if (lhs.get_data() < rhs.get_data())
+        {
+            return true;
+        }
+
+        if (rhs.get_data() < lhs.get_data())
+        {
+            return false;
+        }
+
+        int value = ::boost::tree_node::lexicographical_compare_3way(
+            ::boost::tree_node::breadth_first_descendant_iterator<
+                Derived1 const
+            >(*lhs.get_derived())
+          , ::boost::tree_node::breadth_first_descendant_iterator<
+                Derived2 const
+            >(*rhs.get_derived())
+        );
+
+        if (value < 0)
+        {
+            return true;
+        }
+
+        if (0 < value)
+        {
+            return false;
+        }
+
+        return ::boost::tree_node::_detail::skew_less(
+            *lhs.get_derived()
+          , *rhs.get_derived()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__associative_node_base__operator_greater_than
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator>(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    inline bool
+        operator>(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        )
+    {
+        return rhs < lhs;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__associative_node_base__operator_less_equal
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator<=(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    inline bool
+        operator<=(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        )
+    {
+        return !(rhs < lhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__associative_node_base__operator_greater_equal
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    bool
+        operator>=(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename K1
+      , typename D1
+      , typename A1
+      , typename Derived2
+      , typename K2
+      , typename D2
+      , typename A2
+    >
+    inline bool
+        operator>=(
+            associative_node_base<Derived1,K1,D1,A1> const& lhs
+          , associative_node_base<Derived2,K2,D2,A2> const& rhs
+        )
+    {
+        return !(lhs < rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+namespace boost { namespace tree_node {
+
+    template <
+        typename Key
+      , typename Data
+      , typename AssociativeContainerSelector = ::boost::boost_mapS
+    >
+    class associative_node
+      : public
+        //[reference__associative_node__bases
+        associative_node_base<
+            associative_node<Key,Data,AssociativeContainerSelector>
+          , Key
+          , Data
+          , AssociativeContainerSelector
+        >
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(associative_node);
+
+        //[reference__associative_node__super_t
+        typedef associative_node_base<
+                    associative_node
+                  , Key
+                  , Data
+                  , AssociativeContainerSelector
+                >
+                super_t;
+        //]
+
+     public:
+        //[reference__associative_node__traits
+        typedef typename super_t::traits
+                traits;
+        //]
+
+        //[reference__associative_node__pointer
+        typedef typename super_t::pointer
+                pointer;
+        //]
+
+        //[reference__associative_node__const_pointer
+        typedef typename super_t::const_pointer
+                const_pointer;
+        //]
+
+        //[reference__associative_node__iterator
+        typedef typename super_t::iterator
+                iterator;
+        //]
+
+        //[reference__associative_node__const_iterator
+        typedef typename super_t::const_iterator
+                const_iterator;
+        //]
+
+        //[reference__associative_node__default_ctor
+        associative_node();
+        //]
+
+        //[reference__associative_node__data_ctor
+        explicit associative_node(typename traits::data_type const& data);
+        //]
+
+        associative_node(BOOST_RV_REF(associative_node) source);
+
+        associative_node&
+            operator=(BOOST_COPY_ASSIGN_REF(associative_node) copy);
+
+        associative_node& operator=(BOOST_RV_REF(associative_node) source);
+    };
+
+    template <typename K, typename D, typename A>
+    associative_node<K,D,A>::associative_node() : super_t()
+    {
+    }
+
+    template <typename K, typename D, typename A>
+    associative_node<K,D,A>::associative_node(
+        typename traits::data_type const& data
+    ) : super_t(data)
+    {
+    }
+
+    template <typename K, typename D, typename A>
+    associative_node<K,D,A>::associative_node(
+        BOOST_RV_REF(associative_node) source
+    ) : super_t(::boost::move(static_cast<super_t&>(source)))
+    {
+    }
+
+    template <typename K, typename D, typename A>
+    inline associative_node<K,D,A>&
+        associative_node<K,D,A>::operator=(
+            BOOST_COPY_ASSIGN_REF(associative_node) copy
+        )
+    {
+        super_t::operator=(static_cast<super_t const&>(copy));
+        return *this;
+    }
+
+    template <typename K, typename D, typename A>
+    inline associative_node<K,D,A>&
+        associative_node<K,D,A>::operator=(
+            BOOST_RV_REF(associative_node) source
+        )
+    {
+        super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+        return *this;
+    }
+}}  // namespace boost::tree_node
+
+//[reference__associative_node_gen
+namespace boost { namespace tree_node {
+
+    template <typename Selector = ::boost::boost_mapS>
+    struct associative_node_gen
+    {
+        template <typename Derived, typename Key, typename Data>
+        struct apply
+        {
+            typedef associative_node_base<Derived,Key,Data,Selector> type;
+        };
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_ASSOCIATIVE_NODE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/base.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/base.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,118 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_BASE_HPP_INCLUDED
+#define BOOST_TREE_NODE_BASE_HPP_INCLUDED
+
+#include <boost/mpl/bool.hpp>
+#include <boost/detail/base_pointee.hpp>
+
+namespace boost { namespace tree_node {
+
+    template <typename Derived>
+    struct tree_node_base
+      : public ::boost::detail::base_pointee<Derived>
+    {
+        typedef typename ::boost::detail::base_pointee<Derived>::pointer
+                pointer;
+        typedef typename ::boost::detail::base_pointee<Derived>::const_pointer
+                const_pointer;
+
+     protected:
+        //[reference__tree_node_base__shallow_update_impl
+        void shallow_update_impl();
+        //]
+
+        //[reference__tree_node_base__shallow_update_derived
+        void shallow_update_derived();
+        //]
+
+        //[reference__tree_node_base__deep_update_impl
+        void deep_update_impl();
+        //]
+
+        //[reference__tree_node_base__deep_update_derived
+        void deep_update_derived();
+        //]
+
+        //[reference__tree_node_base__set_position_impl__true
+        template <typename Iterator>
+        void set_position_impl(Iterator position, ::boost::mpl::true_);
+        //]
+
+        //[reference__tree_node_base__set_position_impl__false
+        template <typename Iterator>
+        void set_position_impl(Iterator position, ::boost::mpl::false_);
+        //]
+
+        //[reference__tree_node_base__set_position_derived
+        template <typename Iterator, typename BooleanIntegralConstant>
+        void
+            set_position_derived(
+                Iterator position
+              , BooleanIntegralConstant invalidates_sibling_positions
+            );
+        //]
+    };
+
+    template <typename Derived>
+    inline void tree_node_base<Derived>::shallow_update_impl()
+    {
+    }
+
+    template <typename Derived>
+    inline void tree_node_base<Derived>::shallow_update_derived()
+    {
+        this->get_derived()->shallow_update_impl();
+    }
+
+    template <typename Derived>
+    inline void tree_node_base<Derived>::deep_update_impl()
+    {
+    }
+
+    template <typename Derived>
+    inline void tree_node_base<Derived>::deep_update_derived()
+    {
+        this->get_derived()->deep_update_impl();
+    }
+
+    template <typename Derived>
+    template <typename Iterator>
+    inline void
+        tree_node_base<Derived>::set_position_impl(
+            Iterator position
+          , ::boost::mpl::true_
+        )
+    {
+    }
+
+    template <typename Derived>
+    template <typename Iterator>
+    inline void
+        tree_node_base<Derived>::set_position_impl(
+            Iterator position
+          , ::boost::mpl::false_
+        )
+    {
+    }
+
+    template <typename Derived>
+    template <typename Iterator, typename BooleanIntegralConstant>
+    inline void
+        tree_node_base<Derived>::set_position_derived(
+            Iterator position
+          , BooleanIntegralConstant invalidates_sibling_positions
+        )
+    {
+        this->get_derived()->set_position_impl(
+            position
+          , invalidates_sibling_positions
+        );
+    }
+}}  // namespace boost::tree_node
+
+#endif  // BOOST_TREE_NODE_BASE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/binary_node.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/binary_node.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,1049 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_BINARY_NODE_HPP_INCLUDED
+#define BOOST_TREE_NODE_BINARY_NODE_HPP_INCLUDED
+
+#include <iterator>
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/move/move.hpp>
+#include <boost/tree_node/base.hpp>
+#include <boost/tree_node/depth_first_desc_iterator.hpp>
+#include <boost/tree_node/in_order_iterator.hpp>
+#include <boost/tree_node/algorithm/lexicographical_comp_3way.hpp>
+#include <boost/tree_node/algorithm/_detail/skew_equal.hpp>
+#include <boost/tree_node/algorithm/_detail/skew_less.hpp>
+
+namespace boost { namespace tree_node {
+  namespace _detail {
+
+    template <typename Node>
+    class binary_child_iterator
+    {
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:
+        typedef ::std::bidirectional_iterator_tag iterator_category;
+        typedef Node value_type;
+        typedef ::std::ptrdiff_t difference_type;
+        typedef value_type* pointer;
+        typedef value_type& reference;
+
+//     private:
+        pointer _current;
+
+     public:
+        binary_child_iterator();
+
+        binary_child_iterator(pointer const& p, bool p_is_child);
+
+        template <typename N>
+        binary_child_iterator(
+            binary_child_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+        );
+
+        reference operator*() const;
+
+        pointer operator->() const;
+
+        binary_child_iterator& operator++();
+
+        binary_child_iterator operator++(int);
+
+        binary_child_iterator& operator--();
+
+        binary_child_iterator operator--(int);
+
+     private:
+        void _iterate(pointer const& sibling);
+
+        template <typename N1, typename N2>
+        friend bool
+            operator==(
+                binary_child_iterator<N1> const& lhs
+              , binary_child_iterator<N2> const& rhs
+            );
+    };
+
+    template <typename Node>
+    binary_child_iterator<Node>::binary_child_iterator() : _current(0)
+    {
+    }
+
+    template <typename Node>
+    binary_child_iterator<Node>::binary_child_iterator(
+        pointer const& p
+      , bool p_is_child
+    ) : _current(
+        p_is_child
+      ? p
+      : p->get_left_child_ptr()
+      ? p->get_left_child_ptr()
+      : p->get_right_child_ptr()
+    )
+    {
+    }
+
+    template <typename Node>
+    template <typename N>
+    binary_child_iterator<Node>::binary_child_iterator(
+        binary_child_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : _current(other._current)
+    {
+    }
+
+    template <typename Node>
+    inline typename binary_child_iterator<Node>::reference
+        binary_child_iterator<Node>::operator*() const
+    {
+        return *_current;
+    }
+
+    template <typename Node>
+    inline typename binary_child_iterator<Node>::pointer
+        binary_child_iterator<Node>::operator->() const
+    {
+        return _current;
+    }
+
+    template <typename Node>
+    inline binary_child_iterator<Node>&
+        binary_child_iterator<Node>::operator++()
+    {
+        _iterate(_current->get_parent_ptr()->get_right_child_ptr());
+        return *this;
+    }
+
+    template <typename Node>
+    binary_child_iterator<Node> binary_child_iterator<Node>::operator++(int)
+    {
+        binary_child_iterator itr(*this);
+        ++(*this);
+        return itr;
+    }
+
+    template <typename Node>
+    inline binary_child_iterator<Node>&
+        binary_child_iterator<Node>::operator--()
+    {
+        _iterate(_current->get_parent_ptr()->get_left_child_ptr());
+        return *this;
+    }
+
+    template <typename Node>
+    binary_child_iterator<Node> binary_child_iterator<Node>::operator--(int)
+    {
+        binary_child_iterator itr(*this);
+        --(*this);
+        return itr;
+    }
+
+    template <typename Node>
+    inline void binary_child_iterator<Node>::_iterate(pointer const& sibling)
+    {
+        _current = (_current == sibling) ? 0 : sibling;
+    }
+
+    template <typename N1, typename N2>
+    inline bool
+        operator==(
+            binary_child_iterator<N1> const& lhs
+          , binary_child_iterator<N2> const& rhs
+        )
+    {
+        return lhs._current == rhs._current;
+    }
+
+    template <typename N1, typename N2>
+    inline bool
+        operator!=(
+            binary_child_iterator<N1> const& lhs
+          , binary_child_iterator<N2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+  }  // namespace _detail
+
+    template <typename Derived, typename T>
+    class binary_node_base
+      : public
+        //[reference__binary_node_base__bases
+        tree_node_base<Derived>
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(binary_node_base);
+
+     public:
+        //[reference__binary_node_base__traits
+        struct traits
+        {
+            typedef T data_type;
+        };
+        //]
+
+        //[reference__binary_node_base__pointer
+        typedef typename tree_node_base<Derived>::pointer
+                pointer;
+        //]
+
+        //[reference__binary_node_base__const_pointer
+        typedef typename tree_node_base<Derived>::const_pointer
+                const_pointer;
+        //]
+
+        //[reference__binary_node_base__iterator
+        typedef // implementation_defined
+                //<-
+                _detail::binary_child_iterator<Derived>
+                //->
+                iterator;
+        //]
+
+        //[reference__binary_node_base__const_iterator
+        typedef // implementation_defined
+                //<-
+                _detail::binary_child_iterator<Derived const>
+                //->
+                const_iterator;
+        //]
+
+     private:
+        pointer                    _left_child;
+        pointer                    _right_child;
+        pointer                    _parent;
+        typename traits::data_type _data;
+
+     public:
+        //[reference__binary_node_base__default_ctor
+        binary_node_base();
+        //]
+
+        //[reference__binary_node_base__data_ctor
+        explicit binary_node_base(typename traits::data_type const& data);
+        //]
+
+        //[reference__binary_node_base__copy_ctor
+        binary_node_base(binary_node_base const& copy);
+        //]
+
+        binary_node_base(BOOST_RV_REF(binary_node_base) source);
+
+        binary_node_base&
+            operator=(BOOST_COPY_ASSIGN_REF(binary_node_base) copy);
+
+        binary_node_base& operator=(BOOST_RV_REF(binary_node_base) source);
+
+        //[reference__binary_node_base__dtor
+        ~binary_node_base();
+        //]
+
+        //[reference__binary_node_base__get_data__const
+        typename traits::data_type const& get_data() const;
+        //]
+
+        //[reference__binary_node_base__get_data
+        typename traits::data_type& get_data();
+        //]
+
+        //[reference__binary_node_base__get_parent_ptr__const
+        const_pointer get_parent_ptr() const;
+        //]
+
+        //[reference__binary_node_base__get_parent_ptr
+        pointer get_parent_ptr();
+        //]
+
+        //[reference__binary_node_base__add_left_child__data
+        iterator add_left_child(typename traits::data_type const& data);
+        //]
+
+        //[reference__binary_node_base__add_left_child
+        iterator add_left_child();
+        //]
+
+        //[reference__binary_node_base__add_left_child_copy
+        iterator add_left_child_copy(Derived const& copy);
+        //]
+
+        //[reference__binary_node_base__add_right_child__data
+        iterator add_right_child(typename traits::data_type const& data);
+        //]
+
+        //[reference__binary_node_base__add_right_child
+        iterator add_right_child();
+        //]
+
+        //[reference__binary_node_base__add_right_child_copy
+        iterator add_right_child_copy(Derived const& copy);
+        //]
+
+        //[reference__binary_node_base__get_left_child_ptr__const
+        const_pointer get_left_child_ptr() const;
+        //]
+
+        //[reference__binary_node_base__get_left_child_ptr
+        pointer get_left_child_ptr();
+        //]
+
+        //[reference__binary_node_base__get_right_child_ptr__const
+        const_pointer get_right_child_ptr() const;
+        //]
+
+        //[reference__binary_node_base__get_right_child_ptr
+        pointer get_right_child_ptr();
+        //]
+
+        //[reference__binary_node_base__begin__const
+        const_iterator begin() const;
+        //]
+
+        //[reference__binary_node_base__begin
+        iterator begin();
+        //]
+
+        //[reference__binary_node_base__end__const
+        const_iterator end() const;
+        //]
+
+        //[reference__binary_node_base__end
+        iterator end();
+        //]
+
+        //[reference__binary_node_base__empty
+        bool empty() const;
+        //]
+
+        //[reference__binary_node_base__clear
+        void clear();
+        //]
+
+        //[reference__binary_node_base__rotate_left
+        pointer rotate_left();
+        //]
+
+        //[reference__binary_node_base__rotate_right
+        pointer rotate_right();
+        //]
+
+        //[reference__binary_node_base__remove_left_child
+        void remove_left_child();
+        //]
+
+        //[reference__binary_node_base__remove_right_child
+        void remove_right_child();
+        //]
+
+     private:
+        iterator _add_child(pointer const& child);
+
+        void _clone(binary_node_base const& copy);
+    };
+
+    template <typename Derived, typename T>
+    binary_node_base<Derived,T>::binary_node_base()
+      : _left_child(), _right_child(), _parent(), _data()
+    {
+    }
+
+    template <typename Derived, typename T>
+    binary_node_base<Derived,T>::binary_node_base(
+        typename traits::data_type const& data
+    ) : _left_child(), _right_child(), _parent(), _data(data)
+    {
+    }
+
+    template <typename Derived, typename T>
+    binary_node_base<Derived,T>::binary_node_base(
+        binary_node_base const& copy
+    ) : _left_child(), _right_child(), _parent(), _data(copy._data)
+    {
+        _clone(copy);
+    }
+
+    template <typename Derived, typename T>
+    binary_node_base<Derived,T>::binary_node_base(
+        BOOST_RV_REF(binary_node_base) source
+    ) : _left_child(source._left_child)
+      , _right_child(source._right_child)
+      , _parent()
+      , _data(::boost::move(source._data))
+    {
+        this->shallow_update_derived();
+        source._left_child = source._right_child = 0;
+    }
+
+    template <typename Derived, typename T>
+    binary_node_base<Derived,T>&
+        binary_node_base<Derived,T>::operator=(
+            BOOST_COPY_ASSIGN_REF(binary_node_base) copy
+        )
+    {
+        if (this != ©)
+        {
+            binary_node_base twin(copy);
+
+            delete _left_child;
+            delete _right_child;
+            _left_child = twin._left_child;
+            _right_child = twin._right_child;
+            _left_child->_parent = _right_child->_parent = this->get_derived();
+            _data = ::boost::move(twin._data);
+            this->shallow_update_derived();
+            twin._left_child = twin._right_child = 0;
+        }
+
+        return *this;
+    }
+
+    template <typename Derived, typename T>
+    inline binary_node_base<Derived,T>&
+        binary_node_base<Derived,T>::operator=(
+            BOOST_RV_REF(binary_node_base) source
+        )
+    {
+        if (this != &source)
+        {
+            _left_child = source._left_child;
+            _right_child = source._right_child;
+            _left_child->_parent = _right_child->_parent = this->get_derived();
+            _data = ::boost::move(source._data);
+            this->shallow_update_derived();
+            source._left_child = source._right_child = 0;
+        }
+
+        return *this;
+    }
+
+    template <typename Derived, typename T>
+    binary_node_base<Derived,T>::~binary_node_base()
+    {
+        delete _left_child;
+        delete _right_child;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::traits::data_type const&
+        binary_node_base<Derived,T>::get_data() const
+    {
+        return _data;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::traits::data_type&
+        binary_node_base<Derived,T>::get_data()
+    {
+        return _data;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::const_pointer
+        binary_node_base<Derived,T>::get_parent_ptr() const
+    {
+        return _parent;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::pointer
+        binary_node_base<Derived,T>::get_parent_ptr()
+    {
+        return _parent;
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::add_left_child(
+            typename traits::data_type const& data
+        )
+    {
+        if (_left_child)
+        {
+            return end();
+        }
+        else
+        {
+            return _add_child(_left_child = new Derived(data));
+        }
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::add_left_child()
+    {
+        if (_left_child)
+        {
+            return end();
+        }
+        else
+        {
+            return _add_child(_left_child = new Derived());
+        }
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::add_left_child_copy(Derived const& copy)
+    {
+        if (_left_child)
+        {
+            return end();
+        }
+        else
+        {
+            return _add_child(_left_child = new Derived(copy));
+        }
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::add_right_child(
+            typename traits::data_type const& data
+        )
+    {
+        if (_right_child)
+        {
+            return end();
+        }
+        else
+        {
+            return _add_child(_right_child = new Derived(data));
+        }
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::add_right_child()
+    {
+        if (_right_child)
+        {
+            return end();
+        }
+        else
+        {
+            return _add_child(_right_child = new Derived());
+        }
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::add_right_child_copy(Derived const& copy)
+    {
+        if (_right_child)
+        {
+            return end();
+        }
+        else
+        {
+            return _add_child(_right_child = new Derived(copy));
+        }
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::const_pointer
+        binary_node_base<Derived,T>::get_left_child_ptr() const
+    {
+        return _left_child;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::pointer
+        binary_node_base<Derived,T>::get_left_child_ptr()
+    {
+        return _left_child;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::const_pointer
+        binary_node_base<Derived,T>::get_right_child_ptr() const
+    {
+        return _right_child;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::pointer
+        binary_node_base<Derived,T>::get_right_child_ptr()
+    {
+        return _right_child;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::const_iterator
+        binary_node_base<Derived,T>::begin() const
+    {
+        return const_iterator(this->get_derived(), false);
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::begin()
+    {
+        return iterator(this->get_derived(), false);
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::const_iterator
+        binary_node_base<Derived,T>::end() const
+    {
+        return const_iterator();
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::end()
+    {
+        return iterator();
+    }
+
+    template <typename Derived, typename T>
+    inline bool binary_node_base<Derived,T>::empty() const
+    {
+        return !_left_child && !_right_child;
+    }
+
+    template <typename Derived, typename T>
+    void binary_node_base<Derived,T>::clear()
+    {
+        delete _left_child;
+        delete _right_child;
+        _left_child = _right_child = 0;
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::pointer
+        binary_node_base<Derived,T>::rotate_left()
+    {
+        pointer pivot = _right_child;
+
+        pivot->_parent = _parent;
+        _right_child = pivot->_left_child;
+        _right_child->_parent = pivot->_left_child = this->get_derived();
+
+        if (_parent)
+        {
+            if (_parent->_left_child == this->get_derived())
+            {
+                _parent->_left_child = pivot;
+            }
+            else // if (_parent->_right_child == this->get_derived())
+            {
+                _parent->_right_child = pivot;
+            }
+        }
+
+        _parent = pivot;
+        this->shallow_update_derived();
+        return pivot;
+    }
+
+    template <typename Derived, typename T>
+    inline typename binary_node_base<Derived,T>::pointer
+        binary_node_base<Derived,T>::rotate_right()
+    {
+        pointer pivot = _left_child;
+
+        pivot->_parent = _parent;
+        _left_child = pivot->_right_child;
+        _left_child->_parent = pivot->_right_child = this->get_derived();
+
+        if (_parent)
+        {
+            if (_parent->_right_child == this->get_derived())
+            {
+                _parent->_right_child = pivot;
+            }
+            else // if (_parent->_left_child == this->get_derived())
+            {
+                _parent->_left_child = pivot;
+            }
+        }
+
+        _parent = pivot;
+        this->shallow_update_derived();
+        return pivot;
+    }
+
+    template <typename Derived, typename T>
+    void binary_node_base<Derived,T>::remove_left_child()
+    {
+        delete _left_child;
+        _left_child = 0;
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename T>
+    void binary_node_base<Derived,T>::remove_right_child()
+    {
+        delete _right_child;
+        _right_child = 0;
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename T>
+    typename binary_node_base<Derived,T>::iterator
+        binary_node_base<Derived,T>::_add_child(pointer const& child)
+    {
+        iterator result(child, true);
+
+        result->_parent = this->get_derived();
+        result->set_position_derived(result, ::boost::mpl::false_());
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename T>
+    void binary_node_base<Derived,T>::_clone(binary_node_base const& copy)
+    {
+        pointer p = this->get_derived();
+
+        for (
+            ::boost::tree_node::depth_first_descendant_iterator<
+                Derived const
+            > copy_itr(*copy.get_derived());
+            copy_itr;
+            ++copy_itr
+        )
+        {
+            switch (::boost::tree_node::traversal_state(copy_itr))
+            {
+                case ::boost::tree_node::pre_order_traversal:
+                {
+                    if (copy_itr->_parent->_left_child == &*copy_itr)
+                    {
+                        p->_left_child = new Derived(copy_itr->get_data());
+                        p->_left_child->_parent = p;
+                        p = p->_left_child;
+                    }
+                    else // if (copy_itr->_parent->_right_child == &*copy_itr)
+                    {
+                        p->_right_child = new Derived(copy_itr->get_data());
+                        p->_right_child->_parent = p;
+                        p = p->_right_child;
+                    }
+
+                    p->set_position_derived(
+                        iterator(p, true)
+                      , ::boost::mpl::false_()
+                    );
+                    break;
+                }
+
+                case ::boost::tree_node::post_order_traversal:
+                {
+                    p = p->_parent;
+                    break;
+                }
+            }
+        }
+
+        this->deep_update_derived();
+    }
+}}  // namespace boost::tree_node
+
+//[reference__binary_node_base__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator==(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        );
+
+    //<-
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    inline bool
+        operator==(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        )
+    {
+        return (
+            (
+                0 == ::boost::tree_node::lexicographical_compare_3way(
+                    ::boost::tree_node::in_order_iterator<Derived1 const>(
+                        *lhs.get_derived()
+                    )
+                  , ::boost::tree_node::in_order_iterator<Derived2 const>(
+                        *rhs.get_derived()
+                    )
+                )
+            )
+         && ::boost::tree_node::_detail::skew_equal(
+                *lhs.get_derived()
+              , *rhs.get_derived()
+            )
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__binary_node_base__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator!=(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        );
+
+    //<-
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    inline bool
+        operator!=(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__binary_node_base__operator_less_than
+namespace boost { namespace tree_node {
+
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator<(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        );
+
+    //<-
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator<(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        )
+    {
+        int value = ::boost::tree_node::lexicographical_compare_3way(
+            ::boost::tree_node::in_order_iterator<Derived1 const>(
+                *lhs.get_derived()
+            )
+          , ::boost::tree_node::in_order_iterator<Derived2 const>(
+                *rhs.get_derived()
+            )
+        );
+
+        if (value < 0)
+        {
+            return true;
+        }
+
+        if (0 < value)
+        {
+            return false;
+        }
+
+        return ::boost::tree_node::_detail::skew_less(
+            *lhs.get_derived()
+          , *rhs.get_derived()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__binary_node_base__operator_greater_than
+namespace boost { namespace tree_node {
+
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator>(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        );
+
+    //<-
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    inline bool
+        operator>(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        )
+    {
+        return rhs < lhs;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__binary_node_base__operator_less_equal
+namespace boost { namespace tree_node {
+
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator<=(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        );
+
+    //<-
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    inline bool
+        operator<=(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        )
+    {
+        return !(rhs < lhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__binary_node_base__operator_greater_equal
+namespace boost { namespace tree_node {
+
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    bool
+        operator>=(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        );
+
+    //<-
+    template <typename Derived1, typename T1, typename Derived2, typename T2>
+    inline bool
+        operator>=(
+            binary_node_base<Derived1,T1> const& lhs
+          , binary_node_base<Derived2,T2> const& rhs
+        )
+    {
+        return !(lhs < rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+namespace boost { namespace tree_node {
+
+    template <typename T>
+    class binary_node
+      : public
+        //[reference__binary_node__bases
+        binary_node_base<binary_node<T>,T>
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(binary_node);
+
+        //[reference__binary_node__super_t
+        typedef binary_node_base<binary_node<T>,T> super_t;
+        //]
+
+     public:
+        //[reference__binary_node__traits
+        typedef typename super_t::traits traits;
+        //]
+
+        //[reference__binary_node__pointer
+        typedef typename super_t::pointer pointer;
+        //]
+
+        //[reference__binary_node__const_pointer
+        typedef typename super_t::const_pointer const_pointer;
+        //]
+
+        //[reference__binary_node__iterator
+        typedef typename super_t::iterator iterator;
+        //]
+
+        //[reference__binary_node__const_iterator
+        typedef typename super_t::const_iterator const_iterator;
+        //]
+
+        //[reference__binary_node__default_ctor
+        binary_node();
+        //]
+
+        //[reference__binary_node__data_ctor
+        explicit binary_node(typename traits::data_type const& data);
+        //]
+
+        binary_node(BOOST_RV_REF(binary_node) source);
+
+        binary_node& operator=(BOOST_COPY_ASSIGN_REF(binary_node) copy);
+
+        binary_node& operator=(BOOST_RV_REF(binary_node) source);
+    };
+
+    template <typename T>
+    binary_node<T>::binary_node() : super_t()
+    {
+    }
+
+    template <typename T>
+    binary_node<T>::binary_node(typename traits::data_type const& data)
+      : super_t(data)
+    {
+    }
+
+    template <typename T>
+    binary_node<T>::binary_node(BOOST_RV_REF(binary_node) source)
+      : super_t(::boost::move(static_cast<super_t&>(source)))
+    {
+    }
+
+    template <typename T>
+    inline binary_node<T>&
+        binary_node<T>::operator=(
+            BOOST_COPY_ASSIGN_REF(binary_node) copy
+        )
+    {
+        super_t::operator=(static_cast<super_t const&>(copy));
+        return *this;
+    }
+
+    template <typename T>
+    inline binary_node<T>&
+        binary_node<T>::operator=(BOOST_RV_REF(binary_node) source)
+    {
+        super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+        return *this;
+    }
+}}  // namespace boost::tree_node
+
+//[reference__binary_node_gen
+namespace boost { namespace tree_node {
+
+    struct binary_node_gen
+    {
+        template <typename Derived, typename T>
+        struct apply
+        {
+            typedef binary_node_base<Derived,T> type;
+        };
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_BINARY_NODE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/breadth_first_desc_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/breadth_first_desc_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,267 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_BREADTH_FIRST_DESC_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_BREADTH_FIRST_DESC_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__breadth_first_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class breadth_first_descendant_iterator
+      : public ::boost::iterator_adaptor<
+            breadth_first_descendant_iterator<Node>
+        //, typename Node::iterator or typename Node::const_iterator
+            //<-
+          , typename ::boost::detail::container_iterator<Node>::type
+            //->
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+        typedef ::boost::iterator_adaptor<
+                    breadth_first_descendant_iterator<Node>
+                  , child_iterator
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        ::std::deque<child_iterator> _queue;
+        traversal_state              _state;
+        //->
+
+     public:
+        breadth_first_descendant_iterator();
+
+        explicit breadth_first_descendant_iterator(Node& node);
+
+        template <typename N>
+        breadth_first_descendant_iterator(
+            breadth_first_descendant_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+     private:
+        void _push_children(Node&);
+
+        void _pop();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                breadth_first_descendant_iterator<Node1> const& lhs
+              , breadth_first_descendant_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename N>
+    breadth_first_descendant_iterator<N>::breadth_first_descendant_iterator()
+      : super_t(), _queue(), _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    breadth_first_descendant_iterator<Node>::breadth_first_descendant_iterator(
+        Node& node
+    ) : super_t(), _queue(), _state(breadth_first_traversal)
+    {
+        _push_children(node);
+        _pop();
+    }
+
+    template <typename Node>
+    template <typename N>
+    breadth_first_descendant_iterator<Node>::breadth_first_descendant_iterator(
+        breadth_first_descendant_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _queue(other._queue.begin(), other._queue.end())
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline breadth_first_descendant_iterator<Node>::operator
+        traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    inline void breadth_first_descendant_iterator<Node>::increment()
+    {
+        _push_children(dereference_iterator(this->base()));
+        _pop();
+    }
+
+    template <typename Node>
+    void breadth_first_descendant_iterator<Node>::_push_children(Node& node)
+    {
+        child_iterator itr_end = node.end();
+
+        for (child_iterator itr = node.begin(); itr != itr_end; ++itr)
+        {
+            _queue.push_back(itr);
+        }
+    }
+
+    template <typename Node>
+    inline void breadth_first_descendant_iterator<Node>::_pop()
+    {
+        if (_queue.empty())
+        {
+            _state = no_traversal;
+        }
+        else
+        {
+            this->base_reference() = _queue.front();
+            _queue.pop_front();
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__breadth_first_descendant_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            breadth_first_descendant_iterator<Node1> const& lhs
+          , breadth_first_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            breadth_first_descendant_iterator<Node1> const& lhs
+          , breadth_first_descendant_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__breadth_first_descendant_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            breadth_first_descendant_iterator<Node1> const& lhs
+          , breadth_first_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            breadth_first_descendant_iterator<Node1> const& lhs
+          , breadth_first_descendant_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_breadth_first_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    breadth_first_descendant_iterator<Node>
+        make_breadth_first_descendant_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline breadth_first_descendant_iterator<Node>
+        make_breadth_first_descendant_iterator(Node& node)
+    {
+        return breadth_first_descendant_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__breadth_first_iterate_descendants
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void breadth_first_iterate_descendants(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void breadth_first_iterate_descendants(Node& node, UnaryFunction function)
+    {
+        for (breadth_first_descendant_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_BREADTH_FIRST_DESC_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/breadth_first_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/breadth_first_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,250 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_BREADTH_FIRST_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_BREADTH_FIRST_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__breadth_first_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class breadth_first_iterator
+      : public ::boost::iterator_adaptor<
+            breadth_first_iterator<Node>
+          , Node*
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef ::boost::iterator_adaptor<
+                    breadth_first_iterator<Node>
+                  , Node*
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        ::std::deque<Node*> _queue;
+        traversal_state     _state;
+        //->
+
+     public:
+        breadth_first_iterator();
+
+        explicit breadth_first_iterator(Node& node);
+
+        template <typename N>
+        breadth_first_iterator(
+            breadth_first_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+     private:
+        void _push_children(Node&);
+
+        void _pop();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                breadth_first_iterator<Node1> const& lhs
+              , breadth_first_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    breadth_first_iterator<Node>::breadth_first_iterator()
+      : super_t(), _queue(), _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    breadth_first_iterator<Node>::breadth_first_iterator(Node& node)
+      : super_t(&node)
+      , _queue()
+      , _state(breadth_first_traversal)
+    {
+    }
+
+    template <typename Node>
+    template <typename N>
+    breadth_first_iterator<Node>::breadth_first_iterator(
+        breadth_first_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _queue(other._queue.begin(), other._queue.end())
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline breadth_first_iterator<Node>::operator traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    void breadth_first_iterator<Node>::increment()
+    {
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+
+        child_iterator itr_end = this->base()->end();
+
+        for (child_iterator itr = this->base()->begin(); itr != itr_end; ++itr)
+        {
+            _queue.push_back(&dereference_iterator(itr));
+        }
+
+        if (_queue.empty())
+        {
+            _state = no_traversal;
+        }
+        else
+        {
+            this->base_reference() = _queue.front();
+            _queue.pop_front();
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__breadth_first_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            breadth_first_iterator<Node1> const& lhs
+          , breadth_first_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            breadth_first_iterator<Node1> const& lhs
+          , breadth_first_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__breadth_first_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            breadth_first_iterator<Node1> const& lhs
+          , breadth_first_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            breadth_first_iterator<Node1> const& lhs
+          , breadth_first_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_breadth_first_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    breadth_first_iterator<Node> make_breadth_first_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline breadth_first_iterator<Node> make_breadth_first_iterator(Node& node)
+    {
+        return breadth_first_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__breadth_first_iterate
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void breadth_first_iterate(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void breadth_first_iterate(Node& node, UnaryFunction function)
+    {
+        for (breadth_first_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_BREADTH_FIRST_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/depth_first_desc_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/depth_first_desc_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,313 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_DEPTH_FIRST_DESC_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_DEPTH_FIRST_DESC_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__depth_first_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class depth_first_descendant_iterator
+      : public ::boost::iterator_adaptor<
+            depth_first_descendant_iterator<Node>
+        //, typename Node::iterator or typename Node::const_iterator
+            //<-
+          , typename ::boost::detail::container_iterator<Node>::type
+            //->
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+        typedef ::boost::iterator_adaptor<
+                    depth_first_descendant_iterator<Node>
+                  , child_iterator
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        ::std::deque<Node*>          _node_stack;
+        ::std::deque<child_iterator> _itr_stack;
+        Node*                        _node_ptr;
+        traversal_state              _state;
+        //->
+
+     public:
+        depth_first_descendant_iterator();
+
+        explicit depth_first_descendant_iterator(Node& node);
+
+        template <typename N>
+        depth_first_descendant_iterator(
+            depth_first_descendant_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                depth_first_descendant_iterator<Node1> const& lhs
+              , depth_first_descendant_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    depth_first_descendant_iterator<Node>::depth_first_descendant_iterator()
+      : super_t()
+      , _node_stack()
+      , _itr_stack()
+      , _node_ptr()
+      , _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    depth_first_descendant_iterator<Node>::depth_first_descendant_iterator(
+        Node& node
+    ) : super_t()
+      , _node_stack()
+      , _itr_stack()
+      , _node_ptr(&node)
+      , _state(pre_order_traversal)
+    {
+        _itr_stack.push_back(node.begin());
+        increment();
+    }
+
+    template <typename Node>
+    template <typename N>
+    depth_first_descendant_iterator<Node>::depth_first_descendant_iterator(
+        depth_first_descendant_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _node_stack(other._node_stack.begin(), other._node_stack.end())
+      , _itr_stack(other._itr_stack.begin(), other._itr_stack.end())
+      , _node_ptr(other._node_ptr)
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline depth_first_descendant_iterator<Node>::operator
+        traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    void depth_first_descendant_iterator<Node>::increment()
+    {
+        if (_state == post_order_traversal)
+        {
+            if (_node_stack.empty())
+            {
+                _state = no_traversal;
+                _itr_stack.clear();
+            }
+            else
+            {
+                _itr_stack.pop_back();
+                _node_ptr = _node_stack.back();
+                _node_stack.pop_back();
+
+                if (++this->base_reference() == _node_ptr->end())
+                {
+                    if (_node_stack.empty())
+                    {
+                        _itr_stack.clear();
+                        _state = no_traversal;
+                    }
+                    else
+                    {
+                        child_iterator itr = _itr_stack.back();
+
+                        _itr_stack.pop_back();
+
+                        if (!_itr_stack.empty())
+                        {
+                            this->base_reference() = _itr_stack.back();
+                        }
+
+                        _itr_stack.push_back(itr);
+                        _state = post_order_traversal;
+                    }
+                }
+                else
+                {
+                    _itr_stack.pop_back();
+                    _node_stack.push_back(_node_ptr);
+                    _itr_stack.push_back(this->base());
+                    _node_ptr = &dereference_iterator(this->base());
+                    _state = pre_order_traversal;
+                    _itr_stack.push_back(_node_ptr->begin());
+                }
+            }
+        }
+        else
+        {
+            child_iterator& itr = _itr_stack.back();
+
+            if (itr == _node_ptr->end())
+            {
+                _state = (
+                    _node_stack.empty() ? no_traversal : post_order_traversal
+                );
+            }
+            else
+            {
+                _node_stack.push_back(_node_ptr);
+                _node_ptr = &dereference_iterator(
+                    this->base_reference() = itr
+                );
+                _state = pre_order_traversal;
+                _itr_stack.push_back(_node_ptr->begin());
+            }
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__depth_first_descendant_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            depth_first_descendant_iterator<Node1> const& lhs
+          , depth_first_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            depth_first_descendant_iterator<Node1> const& lhs
+          , depth_first_descendant_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__depth_first_descendant_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            depth_first_descendant_iterator<Node1> const& lhs
+          , depth_first_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            depth_first_descendant_iterator<Node1> const& lhs
+          , depth_first_descendant_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_depth_first_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    depth_first_descendant_iterator<Node>
+        make_depth_first_descendant_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline depth_first_descendant_iterator<Node>
+        make_depth_first_descendant_iterator(Node& node)
+    {
+        return depth_first_descendant_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__depth_first_iterate_descendants
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename BinaryFunction>
+    void depth_first_iterate_descendants(Node& node, BinaryFunction function);
+
+    //<-
+    template <typename Node, typename BinaryFunction>
+    void depth_first_iterate_descendants(Node& node, BinaryFunction function)
+    {
+        for (depth_first_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr, traversal_state(itr));
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_DEPTH_FIRST_DESC_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/depth_first_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/depth_first_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,299 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_DEPTH_FIRST_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_DEPTH_FIRST_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__depth_first_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class depth_first_iterator
+      : public ::boost::iterator_adaptor<
+            depth_first_iterator<Node>
+          , Node*
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+        typedef ::boost::iterator_adaptor<
+                    depth_first_iterator<Node>
+                  , Node*
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        ::std::deque<Node*>          _node_stack;
+        ::std::deque<child_iterator> _itr_stack;
+        child_iterator               _current_itr;
+        traversal_state              _state;
+        //->
+
+     public:
+        depth_first_iterator();
+
+        explicit depth_first_iterator(Node& node);
+
+        template <typename N>
+        depth_first_iterator(
+            depth_first_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                depth_first_iterator<Node1> const& lhs
+              , depth_first_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    depth_first_iterator<Node>::depth_first_iterator()
+      : super_t()
+      , _node_stack()
+      , _itr_stack()
+      , _current_itr()
+      , _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    depth_first_iterator<Node>::depth_first_iterator(Node& node)
+      : super_t(&node)
+      , _node_stack()
+      , _itr_stack()
+      , _current_itr()
+      , _state(pre_order_traversal)
+    {
+        _itr_stack.push_back(node.begin());
+    }
+
+    template <typename Node>
+    template <typename N>
+    depth_first_iterator<Node>::depth_first_iterator(
+        depth_first_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _node_stack(other._node_stack.begin(), other._node_stack.end())
+      , _itr_stack(other._itr_stack.begin(), other._itr_stack.end())
+      , _current_itr(other._current_itr)
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline depth_first_iterator<Node>::operator traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    void depth_first_iterator<Node>::increment()
+    {
+        if (_state == post_order_traversal)
+        {
+            _itr_stack.pop_back();
+
+            if (_node_stack.empty())
+            {
+                _state = no_traversal;
+                _itr_stack.clear();
+            }
+            else
+            {
+                this->base_reference() = _node_stack.back();
+                _node_stack.pop_back();
+
+                if (++_current_itr == this->base()->end())
+                {
+                    child_iterator itr = _itr_stack.back();
+
+                    _itr_stack.pop_back();
+
+                    if (!_itr_stack.empty())
+                    {
+                        _current_itr = _itr_stack.back();
+                    }
+
+                    _itr_stack.push_back(itr);
+                    _state = post_order_traversal;
+                }
+                else
+                {
+                    _itr_stack.pop_back();
+                    _node_stack.push_back(this->base());
+                    _itr_stack.push_back(_current_itr);
+                    this->base_reference() = &dereference_iterator(
+                        _current_itr
+                    );
+                    _state = pre_order_traversal;
+                    _itr_stack.push_back(this->base()->begin());
+                }
+            }
+        }
+        else
+        {
+            child_iterator& itr = _itr_stack.back();
+
+            if (itr == this->base()->end())
+            {
+                _state = post_order_traversal;
+            }
+            else
+            {
+                _node_stack.push_back(this->base());
+                this->base_reference() = &dereference_iterator(
+                    _current_itr = itr
+                );
+                _state = pre_order_traversal;
+                _itr_stack.push_back(this->base()->begin());
+            }
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__depth_first_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            depth_first_iterator<Node1> const& lhs
+          , depth_first_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            depth_first_iterator<Node1> const& lhs
+          , depth_first_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__depth_first_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            depth_first_iterator<Node1> const& lhs
+          , depth_first_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            depth_first_iterator<Node1> const& lhs
+          , depth_first_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_depth_first_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    depth_first_iterator<Node> make_depth_first_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline depth_first_iterator<Node> make_depth_first_iterator(Node& node)
+    {
+        return depth_first_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__depth_first_iterate
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename BinaryFunction>
+    void depth_first_iterate(Node& node, BinaryFunction function);
+
+    //<-
+    template <typename Node, typename BinaryFunction>
+    void depth_first_iterate(Node& node, BinaryFunction function)
+    {
+        for (depth_first_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr, traversal_state(itr));
+        }
+    }
+    //->
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_DEPTH_FIRST_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/in_order_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/in_order_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,346 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_IN_ORDER_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_IN_ORDER_ITERATOR_HPP_INCLUDED
+
+#include <iterator>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+
+//[reference__in_order_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class in_order_iterator
+      : public ::boost::iterator_adaptor<
+            in_order_iterator<Node>
+          , Node*
+          , ::boost::use_default
+          , ::boost::bidirectional_traversal_tag
+        >
+    {
+        //<-
+        typedef ::boost::iterator_adaptor<
+                    in_order_iterator<Node>
+                  , Node*
+                  , ::boost::use_default
+                  , ::boost::bidirectional_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        Node* _root_parent_ptr;
+        traversal_state _state;
+        //->
+
+     public:
+        in_order_iterator();
+
+        explicit in_order_iterator(Node& node, bool start_left = true);
+
+        template <typename N>
+        in_order_iterator(
+            in_order_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        void decrement();
+
+        template <typename N1, typename N2>
+        friend bool
+            operator==(
+                in_order_iterator<N1> const& lhs
+              , in_order_iterator<N2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    in_order_iterator<Node>::in_order_iterator()
+      : super_t(), _root_parent_ptr(), _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    in_order_iterator<Node>::in_order_iterator(Node& node, bool start_left)
+      : super_t(&node)
+      , _root_parent_ptr(node.get_parent_ptr())
+      , _state(in_order_traversal)
+    {
+        if (start_left)
+        {
+            while (this->base()->get_left_child_ptr())
+            {
+                this->base_reference() = this->base()->get_left_child_ptr();
+            }
+        }
+        else
+        {
+            while (this->base()->get_right_child_ptr())
+            {
+                this->base_reference() = this->base()->get_right_child_ptr();
+            }
+        }
+    }
+
+    template <typename Node>
+    template <typename N>
+    in_order_iterator<Node>::in_order_iterator(
+        in_order_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _root_parent_ptr(other._root_parent_ptr)
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline in_order_iterator<Node>::operator traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    void in_order_iterator<Node>::increment()
+    {
+        Node* node_ptr = this->base()->get_right_child_ptr();
+
+        if (node_ptr)
+        {
+            while (node_ptr->get_left_child_ptr())
+            {
+                node_ptr = node_ptr->get_left_child_ptr();
+            }
+
+            this->base_reference() = node_ptr;
+            return;
+        }
+
+        node_ptr = this->base();
+
+        for (
+            Node* next_ptr = node_ptr->get_parent_ptr();
+            next_ptr != _root_parent_ptr;
+            next_ptr = next_ptr->get_parent_ptr()
+        )
+        {
+            if (node_ptr == next_ptr->get_left_child_ptr())
+            {
+                this->base_reference() = next_ptr;
+                return;
+            }
+
+            node_ptr = next_ptr;
+        }
+
+        this->base_reference() = _root_parent_ptr = 0;
+        _state = no_traversal;
+    }
+
+    template <typename Node>
+    void in_order_iterator<Node>::decrement()
+    {
+        Node* node_ptr = this->base()->get_left_child_ptr();
+
+        if (node_ptr)
+        {
+            while (node_ptr->get_right_child_ptr())
+            {
+                node_ptr = node_ptr->get_right_child_ptr();
+            }
+
+            this->base_reference() = node_ptr;
+            return;
+        }
+
+        node_ptr = this->base();
+
+        for (
+            Node* next_ptr = node_ptr->get_parent_ptr();
+            next_ptr != _root_parent_ptr;
+            next_ptr = next_ptr->get_parent_ptr()
+        )
+        {
+            if (node_ptr == next_ptr->get_right_child_ptr())
+            {
+                this->base_reference() = next_ptr;
+                return;
+            }
+
+            node_ptr = next_ptr;
+        }
+
+        this->base_reference() = _root_parent_ptr = 0;
+        _state = no_traversal;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__in_order_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename N1, typename N2>
+    bool
+        operator==(
+            in_order_iterator<N1> const& lhs
+          , in_order_iterator<N2> const& rhs
+        );
+
+    //<-
+    template <typename N1, typename N2>
+    inline bool
+        operator==(
+            in_order_iterator<N1> const& lhs
+          , in_order_iterator<N2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__in_order_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename N1, typename N2>
+    bool
+        operator!=(
+            in_order_iterator<N1> const& lhs
+          , in_order_iterator<N2> const& rhs
+        );
+
+    //<-
+    template <typename N1, typename N2>
+    inline bool
+        operator!=(
+            in_order_iterator<N1> const& lhs
+          , in_order_iterator<N2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_in_order_forward_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    in_order_iterator<Node> make_in_order_forward_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline in_order_iterator<Node>
+        make_in_order_forward_iterator(Node& node)
+    {
+        return in_order_iterator<Node>(node, true);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_in_order_reverse_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    in_order_iterator<Node> make_in_order_reverse_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline in_order_iterator<Node>
+        make_in_order_reverse_iterator(Node& node)
+    {
+        return in_order_iterator<Node>(node, false);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__in_order_iterate_forward
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void in_order_iterate_forward(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void in_order_iterate_forward(Node& node, UnaryFunction function)
+    {
+        for (in_order_iterator<Node> itr(node, true); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__in_order_iterate_reverse
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void in_order_iterate_reverse(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void in_order_iterate_reverse(Node& node, UnaryFunction function)
+    {
+        for (in_order_iterator<Node> itr(node, false); itr; --itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_IN_ORDER_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/nary_node.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/nary_node.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,901 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_NARY_NODE_HPP_INCLUDED
+#define BOOST_TREE_NODE_NARY_NODE_HPP_INCLUDED
+
+#include <utility>
+#include <boost/mpl/bool.hpp>
+#include <boost/move/move.hpp>
+#include <boost/iterator/transform_iterator.hpp>
+#include <boost/utility/container_gen.hpp>
+#include <boost/utility/has_stable_iters_selector.hpp>
+#include <boost/utility/is_associative_selector.hpp>
+#include <boost/utility/is_unordered_selector.hpp>
+#include <boost/tree_node/base.hpp>
+#include <boost/tree_node/depth_first_desc_iterator.hpp>
+#include <boost/tree_node/breadth_first_iterator.hpp>
+#include <boost/tree_node/algorithm/lexicographical_comp_3way.hpp>
+#include <boost/tree_node/algorithm/_detail/skew_equal.hpp>
+#include <boost/tree_node/algorithm/_detail/skew_less.hpp>
+
+namespace boost { namespace tree_node {
+
+    template <typename Derived, typename T, typename Selector>
+    class nary_node_base
+      : public
+        //[reference__nary_node_base__bases
+        tree_node_base<Derived>
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(nary_node_base);
+        typedef typename ::boost::container_gen<Selector,Derived>::type
+                children;
+
+     public:
+        //[reference__nary_node_base__traits
+        struct traits
+        {
+            typedef T data_type;
+        };
+        //]
+
+        //[reference__nary_node_base__pointer
+        typedef typename tree_node_base<Derived>::pointer
+                pointer;
+        //]
+
+        //[reference__nary_node_base__const_pointer
+        typedef typename tree_node_base<Derived>::const_pointer
+                const_pointer;
+        //]
+
+        //[reference__nary_node_base__iterator
+        typedef // implementation_defined
+                //<-
+                typename children::iterator
+                //->
+                iterator;
+        //]
+
+        //[reference__nary_node_base__const_iterator
+        typedef // implementation_defined
+                //<-
+                typename children::const_iterator
+                //->
+                const_iterator;
+        //]
+
+     private:
+        children                   _children;
+        pointer                    _parent;
+        typename traits::data_type _data;
+
+     public:
+        //[reference__nary_node_base__default_ctor
+        nary_node_base();
+        //]
+
+        //[reference__nary_node_base__data_ctor
+        explicit nary_node_base(typename traits::data_type const& data);
+        //]
+
+        //[reference__nary_node_base__copy_ctor
+        nary_node_base(nary_node_base const& copy);
+        //]
+
+        nary_node_base(BOOST_RV_REF(nary_node_base) source);
+
+        nary_node_base& operator=(BOOST_COPY_ASSIGN_REF(nary_node_base) copy);
+
+        nary_node_base& operator=(BOOST_RV_REF(nary_node_base) source);
+
+        //[reference__nary_node_base__get_data__const
+        typename traits::data_type const& get_data() const;
+        //]
+
+        //[reference__nary_node_base__get_data
+        typename traits::data_type& get_data();
+        //]
+
+        //[reference__nary_node_base__get_parent_ptr__const
+        const_pointer get_parent_ptr() const;
+        //]
+
+        //[reference__nary_node_base__get_parent_ptr
+        pointer get_parent_ptr();
+        //]
+
+        //[reference__nary_node_base__add_child__data
+        iterator add_child(typename traits::data_type const& data);
+        //]
+
+        //[reference__nary_node_base__add_child
+        iterator add_child();
+        //]
+
+        //[reference__nary_node_base__add_child_copy
+        iterator add_child_copy(Derived const& copy);
+        //]
+
+        //[reference__nary_node_base__begin__const
+        const_iterator begin() const;
+        //]
+
+        //[reference__nary_node_base__begin
+        iterator begin();
+        //]
+
+        //[reference__nary_node_base__end__const
+        const_iterator end() const;
+        //]
+
+        //[reference__nary_node_base__end
+        iterator end();
+        //]
+
+        //[reference__nary_node_base__empty
+        bool empty() const;
+        //]
+
+        //[reference__nary_node_base__clear
+        void clear();
+        //]
+
+     private:
+        template <typename Arg>
+        iterator _add_child(Arg& arg);
+
+        template <typename Arg>
+        iterator _add_child(Arg& arg, ::boost::mpl::true_);
+
+        template <typename Arg>
+        iterator _add_child(Arg& arg, ::boost::mpl::false_);
+
+        template <typename Arg>
+        iterator _add_child_assoc(Arg& arg, ::boost::mpl::true_);
+
+        template <typename Arg>
+        iterator _add_child_assoc(Arg& arg, ::boost::mpl::false_);
+
+        iterator _add_child_def();
+
+        iterator _add_child_def(::boost::mpl::true_);
+
+        iterator _add_child_def(::boost::mpl::false_);
+
+        iterator _add_child_def_assoc(::boost::mpl::true_);
+
+        iterator _add_child_def_assoc(::boost::mpl::false_);
+        // We shouldn't need all of the above private methods, but we do.
+
+        void _initialize(iterator& to_child);
+
+        void _clone(nary_node_base const& copy);
+    };
+
+    //<-
+    template <typename Derived, typename T, typename Selector>
+    nary_node_base<Derived,T,Selector>::nary_node_base()
+      : _children(), _parent(), _data()
+    {
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    nary_node_base<Derived,T,Selector>::nary_node_base(
+        typename traits::data_type const& data
+    ) : _children(), _parent(), _data(data)
+    {
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    nary_node_base<Derived,T,Selector>::nary_node_base(
+        nary_node_base const& copy
+    ) : _children(), _parent(), _data(copy._data)
+    {
+        _clone(copy);
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    nary_node_base<Derived,T,Selector>::nary_node_base(
+        BOOST_RV_REF(nary_node_base) source
+    ) : _children(::boost::move(source._children))
+      , _parent()
+      , _data(::boost::move(source._data))
+    {
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    nary_node_base<Derived,T,Selector>&
+        nary_node_base<Derived,T,Selector>::operator=(
+            BOOST_COPY_ASSIGN_REF(nary_node_base) copy
+        )
+    {
+        if (this != ©)
+        {
+            nary_node_base twin(copy);
+
+            _children = ::boost::move(twin._children);
+            _data = ::boost::move(twin._data);
+
+            for (iterator itr = begin(); itr != end(); ++itr)
+            {
+                itr->_parent = this->get_derived();
+            }
+
+            this->shallow_update_derived();
+        }
+
+        return *this;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    nary_node_base<Derived,T,Selector>&
+        nary_node_base<Derived,T,Selector>::operator=(
+            BOOST_RV_REF(nary_node_base) source
+        )
+    {
+        if (this != &source)
+        {
+            _children = ::boost::move(source._children);
+            _data = ::boost::move(source._data);
+
+            for (iterator itr = begin(); itr != end(); ++itr)
+            {
+                itr->_parent = this->get_derived();
+            }
+
+            this->shallow_update_derived();
+        }
+
+        return *this;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<
+        Derived
+      , T
+      , Selector
+    >::traits::data_type const&
+        nary_node_base<Derived,T,Selector>::get_data() const
+    {
+        return _data;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::traits::data_type&
+        nary_node_base<Derived,T,Selector>::get_data()
+    {
+        return _data;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::const_pointer
+        nary_node_base<Derived,T,Selector>::get_parent_ptr() const
+    {
+        return _parent;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::pointer
+        nary_node_base<Derived,T,Selector>::get_parent_ptr()
+    {
+        return _parent;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::add_child(
+            typename traits::data_type const& data
+        )
+    {
+        iterator result(_add_child(data));
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::add_child()
+    {
+        iterator result(_add_child_def());
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::add_child_copy(Derived const& copy)
+    {
+        iterator result(_add_child(copy));
+        this->shallow_update_derived();
+        return result;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::const_iterator
+        nary_node_base<Derived,T,Selector>::begin() const
+    {
+        return _children.begin();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::begin()
+    {
+        return _children.begin();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::const_iterator
+        nary_node_base<Derived,T,Selector>::end() const
+    {
+        return _children.end();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::end()
+    {
+        return _children.end();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline bool nary_node_base<Derived,T,Selector>::empty() const
+    {
+        return _children.empty();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline void nary_node_base<Derived,T,Selector>::clear()
+    {
+        _children.clear();
+        this->shallow_update_derived();
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    template <typename Arg>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child(Arg& arg)
+    {
+        return _add_child(arg, ::boost::is_associative_selector<Selector>());
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    template <typename Arg>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child(
+            Arg& arg
+          , ::boost::mpl::true_
+        )
+    {
+        return _add_child_assoc(
+            arg
+          , ::boost::is_unordered_selector<Selector>()
+        );
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    template <typename Arg>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child(
+            Arg& arg
+          , ::boost::mpl::false_
+        )
+    {
+        iterator to_child = _children.emplace(_children.end(), arg);
+        _initialize(to_child);
+        return to_child;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    template <typename Arg>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_assoc(
+            Arg& arg
+          , ::boost::mpl::true_
+        )
+    {
+        ::std::pair<iterator,bool> p = _children.emplace(arg);
+
+        if (p.second)
+        {
+            _initialize(p.first);
+        }
+
+        return p.first;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    template <typename Arg>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_assoc(
+            Arg& arg
+          , ::boost::mpl::false_
+        )
+    {
+        iterator to_child = _children.emplace(arg);
+        _initialize(to_child);
+        return to_child;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_def()
+    {
+        return _add_child_def(::boost::is_associative_selector<Selector>());
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_def(
+            ::boost::mpl::true_
+        )
+    {
+        return _add_child_def_assoc(
+            ::boost::is_unordered_selector<Selector>()
+        );
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_def(
+            ::boost::mpl::false_
+        )
+    {
+        iterator to_child = _children.emplace(_children.end());
+        _initialize(to_child);
+        return to_child;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_def_assoc(
+            ::boost::mpl::true_
+        )
+    {
+        ::std::pair<iterator,bool> p = _children.emplace(
+            ::boost::move(typename traits::data_type())
+        );
+
+        if (p.second)
+        {
+            _initialize(p.first);
+        }
+
+        return p.first;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    typename nary_node_base<Derived,T,Selector>::iterator
+        nary_node_base<Derived,T,Selector>::_add_child_def_assoc(
+            ::boost::mpl::false_
+        )
+    {
+        iterator to_child = _children.emplace();
+        _initialize(to_child);
+        return to_child;
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    inline void
+        nary_node_base<Derived,T,Selector>::_initialize(iterator& to_child)
+    {
+        to_child->_parent = this->get_derived();
+        to_child->set_position_derived(
+            to_child
+          , ::boost::has_stable_iterators_selector<Selector>()
+        );
+    }
+
+    template <typename Derived, typename T, typename Selector>
+    void
+        nary_node_base<Derived,T,Selector>::_clone(
+            nary_node_base const& copy
+        )
+    {
+        pointer p = this->get_derived();
+
+        for (
+            ::boost::tree_node::depth_first_descendant_iterator<
+                Derived const
+            > copy_itr(*copy.get_derived());
+            copy_itr;
+            ++copy_itr
+        )
+        {
+            switch (::boost::tree_node::traversal_state(copy_itr))
+            {
+                case ::boost::tree_node::pre_order_traversal:
+                {
+                    p = &*p->_add_child(copy_itr->get_data());
+                    break;
+                }
+
+                case ::boost::tree_node::post_order_traversal:
+                {
+                    p = p->_parent;
+                    break;
+                }
+            }
+        }
+
+        this->deep_update_derived();
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_base__operator_equals
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator==(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator==(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        )
+    {
+        return (
+            (
+                0 == ::boost::tree_node::lexicographical_compare_3way(
+                    ::boost::tree_node::breadth_first_iterator<Derived1 const>(
+                        *lhs.get_derived()
+                    )
+                  , ::boost::tree_node::breadth_first_iterator<Derived2 const>(
+                        *rhs.get_derived()
+                    )
+                )
+            )
+         && ::boost::tree_node::_detail::skew_equal(
+                *lhs.get_derived()
+              , *rhs.get_derived()
+            )
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_base__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator!=(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    inline bool
+        operator!=(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_base__operator_less_than
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator<(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator<(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        )
+    {
+        int value = ::boost::tree_node::lexicographical_compare_3way(
+            ::boost::tree_node::breadth_first_iterator<Derived1 const>(
+                *lhs.get_derived()
+            )
+          , ::boost::tree_node::breadth_first_iterator<Derived2 const>(
+                *rhs.get_derived()
+            )
+        );
+
+        if (value < 0)
+        {
+            return true;
+        }
+
+        if (0 < value)
+        {
+            return false;
+        }
+
+        return ::boost::tree_node::_detail::skew_less(
+            *lhs.get_derived()
+          , *rhs.get_derived()
+        );
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_base__operator_greater_than
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator>(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    inline bool
+        operator>(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        )
+    {
+        return rhs < lhs;
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_base__operator_less_equal
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator<=(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    inline bool
+        operator<=(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        )
+    {
+        return !(rhs < lhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_base__operator_greater_equal
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    bool
+        operator>=(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        );
+
+    //<-
+    template <
+        typename Derived1
+      , typename T1
+      , typename Selector1
+      , typename Derived2
+      , typename T2
+      , typename Selector2
+    >
+    inline bool
+        operator>=(
+            nary_node_base<Derived1,T1,Selector1> const& lhs
+          , nary_node_base<Derived2,T2,Selector2> const& rhs
+        )
+    {
+        return !(lhs < rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+namespace boost { namespace tree_node {
+
+    template <typename T, typename Selector = ::boost::boost_dequeS>
+    class nary_node
+      : public
+        //[reference__nary_node__bases
+        nary_node_base<nary_node<T,Selector>,T,Selector>
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(nary_node);
+
+        //[reference__nary_node__super_t
+        typedef nary_node_base<nary_node,T,Selector> super_t;
+        //]
+
+     public:
+        //[reference__nary_node__traits
+        typedef typename super_t::traits traits;
+        //]
+
+        //[reference__nary_node__pointer
+        typedef typename super_t::pointer pointer;
+        //]
+
+        //[reference__nary_node__const_pointer
+        typedef typename super_t::const_pointer const_pointer;
+        //]
+
+        //[reference__nary_node__iterator
+        typedef typename super_t::iterator iterator;
+        //]
+
+        //[reference__nary_node__const_iterator
+        typedef typename super_t::const_iterator const_iterator;
+        //]
+
+        //[reference__nary_node__default_ctor
+        nary_node();
+        //]
+
+        //[reference__nary_node__data_ctor
+        explicit nary_node(typename traits::data_type const& data);
+        //]
+
+        nary_node(BOOST_RV_REF(nary_node) source);
+
+        nary_node& operator=(BOOST_COPY_ASSIGN_REF(nary_node) copy);
+
+        nary_node& operator=(BOOST_RV_REF(nary_node) source);
+    };
+
+    template <typename T, typename Selector>
+    nary_node<T,Selector>::nary_node() : super_t()
+    {
+    }
+
+    template <typename T, typename Selector>
+    nary_node<T,Selector>::nary_node(typename traits::data_type const& data)
+      : super_t(data)
+    {
+    }
+
+    template <typename T, typename Selector>
+    nary_node<T,Selector>::nary_node(BOOST_RV_REF(nary_node) source)
+      : super_t(::boost::move(static_cast<super_t&>(source)))
+    {
+    }
+
+    template <typename T, typename Selector>
+    inline nary_node<T,Selector>&
+        nary_node<T,Selector>::operator=(
+            BOOST_COPY_ASSIGN_REF(nary_node) copy
+        )
+    {
+        super_t::operator=(static_cast<super_t const&>(copy));
+        return *this;
+    }
+
+    template <typename T, typename Selector>
+    inline nary_node<T,Selector>&
+        nary_node<T,Selector>::operator=(BOOST_RV_REF(nary_node) source)
+    {
+        super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+        return *this;
+    }
+}}  // namespace boost::tree_node
+//]
+
+//[reference__nary_node_gen
+namespace boost { namespace tree_node {
+
+    template <typename Selector = ::boost::boost_dequeS>
+    struct nary_node_gen
+    {
+        template <typename Derived, typename T>
+        struct apply
+        {
+            typedef nary_node_base<Derived,T,Selector> type;
+        };
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_NARY_NODE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/post_order_desc_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/post_order_desc_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,289 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_POST_ORDER_DESC_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_POST_ORDER_DESC_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__post_order_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class post_order_descendant_iterator
+      : public ::boost::iterator_adaptor<
+            post_order_descendant_iterator<Node>
+        //, typename Node::iterator or typename Node::const_iterator
+            //<-
+          , typename ::boost::detail::container_iterator<Node>::type
+            //->
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+        typedef ::boost::iterator_adaptor<
+                    post_order_descendant_iterator<Node>
+                  , child_iterator
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        std::deque<child_iterator> _stack;
+        traversal_state            _state;
+        //->
+
+     public:
+        post_order_descendant_iterator();
+
+        explicit post_order_descendant_iterator(Node& node);
+
+        template <typename N>
+        post_order_descendant_iterator(
+            post_order_descendant_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                post_order_descendant_iterator<Node1> const& lhs
+              , post_order_descendant_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    post_order_descendant_iterator<Node>::post_order_descendant_iterator()
+      : super_t(), _stack(), _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    post_order_descendant_iterator<Node>::post_order_descendant_iterator(
+        Node& node
+    ) : super_t(), _stack(), _state(post_order_traversal)
+    {
+        child_iterator itr = node.begin();
+        child_iterator itr_end = node.end();
+
+        if (itr != itr_end)
+        {
+            ::std::deque<child_iterator> pre_order_stack;
+
+            for (;;)
+            {
+                while (itr != itr_end)
+                {
+                    pre_order_stack.push_back(itr);
+                    ++itr;
+                }
+
+                _stack.push_back(pre_order_stack.back());
+                pre_order_stack.pop_back();
+
+                if (pre_order_stack.empty())
+                {
+                    Node& n = dereference_iterator(
+                        this->base_reference() = _stack.back()
+                    );
+
+                    itr = n.begin();
+                    itr_end = n.end();
+
+                    if (itr == itr_end)
+                    {
+                        _stack.pop_back();
+                        break;
+                    }
+                }
+                else
+                {
+                    Node& n = dereference_iterator(_stack.back());
+
+                    itr = n.begin();
+                    itr_end = n.end();
+                }
+            }
+        }
+
+        if (_stack.empty())
+        {
+            _state = no_traversal;
+        }
+    }
+
+    template <typename Node>
+    template <typename N>
+    post_order_descendant_iterator<Node>::post_order_descendant_iterator(
+        post_order_descendant_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _stack(other._stack.begin(), other._stack.end())
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline post_order_descendant_iterator<Node>::operator
+        traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    inline void post_order_descendant_iterator<Node>::increment()
+    {
+        if (_stack.empty())
+        {
+            _state = no_traversal;
+        }
+        else
+        {
+            this->base_reference() = _stack.back();
+            _stack.pop_back();
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__post_order_descendant_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            post_order_descendant_iterator<Node1> const& lhs
+          , post_order_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            post_order_descendant_iterator<Node1> const& lhs
+          , post_order_descendant_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__post_order_descendant_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            post_order_descendant_iterator<Node1> const& lhs
+          , post_order_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            post_order_descendant_iterator<Node1> const& lhs
+          , post_order_descendant_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_post_order_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    post_order_descendant_iterator<Node>
+        make_post_order_descendant_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline post_order_descendant_iterator<Node>
+        make_post_order_descendant_iterator(Node& node)
+    {
+        return post_order_descendant_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__post_order_iterate_descendants
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void post_order_iterate_descendants(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void post_order_iterate_descendants(Node& node, UnaryFunction function)
+    {
+        for (post_order_descendant_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_POST_ORDER_DESC_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/post_order_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/post_order_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,280 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_POST_ORDER_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_POST_ORDER_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__post_order_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class post_order_iterator
+      : public ::boost::iterator_adaptor<
+            post_order_iterator<Node>
+          , Node*
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef ::boost::iterator_adaptor<
+                    post_order_iterator<Node>
+                  , Node*
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        std::deque<Node*> _stack;
+        traversal_state   _state;
+        //->
+
+     public:
+        post_order_iterator();
+
+        explicit post_order_iterator(Node& node);
+
+        template <typename N>
+        post_order_iterator(
+            post_order_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                post_order_iterator<Node1> const& lhs
+              , post_order_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    post_order_iterator<Node>::post_order_iterator()
+      : super_t(), _stack(), _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    post_order_iterator<Node>::post_order_iterator(Node& node)
+      : super_t(&node), _stack(), _state(post_order_traversal)
+    {
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+
+        _stack.push_back(&node);
+
+        child_iterator itr = node.begin();
+        child_iterator itr_end = node.end();
+
+        if (itr != itr_end)
+        {
+            ::std::deque<child_iterator> pre_order_stack;
+
+            for (;;)
+            {
+                while (itr != itr_end)
+                {
+                    pre_order_stack.push_back(itr);
+                    ++itr;
+                }
+
+                _stack.push_back(
+                    &dereference_iterator(pre_order_stack.back())
+                );
+                pre_order_stack.pop_back();
+
+                if (pre_order_stack.empty())
+                {
+                    Node* node_ptr = this->base_reference() = _stack.back();
+
+                    itr = node_ptr->begin();
+                    itr_end = node_ptr->end();
+
+                    if (itr == itr_end)
+                    {
+                        _stack.pop_back();
+                        break;
+                    }
+                }
+                else
+                {
+                    Node* node_ptr = _stack.back();
+
+                    itr = node_ptr->begin();
+                    itr_end = node_ptr->end();
+                }
+            }
+        }
+    }
+
+    template <typename Node>
+    template <typename N>
+    post_order_iterator<Node>::post_order_iterator(
+        post_order_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _stack(other._stack.begin(), other._stack.end())
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline post_order_iterator<Node>::operator traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    inline void post_order_iterator<Node>::increment()
+    {
+        if (_stack.empty())
+        {
+            _state = no_traversal;
+        }
+        else
+        {
+            this->base_reference() = _stack.back();
+            _stack.pop_back();
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__post_order_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            post_order_iterator<Node1> const& lhs
+          , post_order_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            post_order_iterator<Node1> const& lhs
+          , post_order_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (lhs.base() == rhs.base()) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__post_order_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            post_order_iterator<Node1> const& lhs
+          , post_order_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            post_order_iterator<Node1> const& lhs
+          , post_order_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_post_order_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    post_order_iterator<Node> make_post_order_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline post_order_iterator<Node> make_post_order_iterator(Node& node)
+    {
+        return post_order_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__post_order_iterate
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void post_order_iterate(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void post_order_iterate(Node& node, UnaryFunction function)
+    {
+        for (post_order_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_POST_ORDER_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/pre_order_desc_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/pre_order_desc_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,299 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_PRE_ORDER_DESC_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_PRE_ORDER_DESC_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__pre_order_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class pre_order_descendant_iterator
+      : public ::boost::iterator_adaptor<
+            pre_order_descendant_iterator<Node>
+        //, typename Node::iterator or typename Node::const_iterator
+            //<-
+          , typename ::boost::detail::container_iterator<Node>::type
+            //->
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+        typedef ::boost::iterator_adaptor<
+                    pre_order_descendant_iterator<Node>
+                  , child_iterator
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        ::std::deque<Node*>          _node_stack;
+        ::std::deque<child_iterator> _itr_stack;
+        Node*                        _current_node;
+        traversal_state              _state;
+        //->
+
+     public:
+        pre_order_descendant_iterator();
+
+        explicit pre_order_descendant_iterator(Node& node);
+
+        template <typename N>
+        pre_order_descendant_iterator(
+            pre_order_descendant_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                pre_order_descendant_iterator<Node1> const& lhs
+              , pre_order_descendant_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    pre_order_descendant_iterator<Node>::pre_order_descendant_iterator()
+      : super_t()
+      , _node_stack()
+      , _itr_stack()
+      , _current_node()
+      , _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    pre_order_descendant_iterator<Node>::pre_order_descendant_iterator(
+        Node& node
+    ) : super_t()
+      , _node_stack()
+      , _itr_stack()
+      , _current_node(&node)
+      , _state(pre_order_traversal)
+    {
+        _itr_stack.push_back(node.begin());
+        increment();
+    }
+
+    template <typename Node>
+    template <typename N>
+    pre_order_descendant_iterator<Node>::pre_order_descendant_iterator(
+        pre_order_descendant_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _node_stack(other._node_stack.begin(), other._node_stack.end())
+      , _itr_stack(other._itr_stack.begin(), other._itr_stack.end())
+      , _current_node(other._current_node)
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline pre_order_descendant_iterator<Node>::operator
+        traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    void pre_order_descendant_iterator<Node>::increment()
+    {
+        if (_itr_stack.back() == _current_node->end())
+        {
+            bool is_post_order = true;
+
+            while (is_post_order)
+            {
+                _itr_stack.pop_back();
+
+                if (_node_stack.empty())
+                {
+                    _state = no_traversal;
+                    _itr_stack.clear();
+                    is_post_order = false;
+                }
+                else
+                {
+                    _current_node = _node_stack.back();
+                    _node_stack.pop_back();
+
+                    if (++this->base_reference() == _current_node->end())
+                    {
+                        child_iterator itr = _itr_stack.back();
+
+                        _itr_stack.pop_back();
+
+                        if (!_itr_stack.empty())
+                        {
+                            this->base_reference() = _itr_stack.back();
+                        }
+
+                        _itr_stack.push_back(itr);
+                    }
+                    else
+                    {
+                        _itr_stack.pop_back();
+                        _node_stack.push_back(_current_node);
+                        _itr_stack.push_back(this->base());
+                        _current_node = &dereference_iterator(this->base());
+                        _itr_stack.push_back(_current_node->begin());
+                        is_post_order = false;
+                    }
+                }
+            }
+        }
+        else
+        {
+            _node_stack.push_back(_current_node);
+            _current_node = &dereference_iterator(
+                this->base_reference() = _itr_stack.back()
+            );
+            _itr_stack.push_back(_current_node->begin());
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__pre_order_descendant_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            pre_order_descendant_iterator<Node1> const& lhs
+          , pre_order_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            pre_order_descendant_iterator<Node1> const& lhs
+          , pre_order_descendant_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (*lhs == *rhs) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__pre_order_descendant_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            pre_order_descendant_iterator<Node1> const& lhs
+          , pre_order_descendant_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            pre_order_descendant_iterator<Node1> const& lhs
+          , pre_order_descendant_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_pre_order_descendant_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    pre_order_descendant_iterator<Node>
+        make_pre_order_descendant_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline pre_order_descendant_iterator<Node>
+        make_pre_order_descendant_iterator(Node& node)
+    {
+        return pre_order_descendant_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__pre_order_iterate_descendants
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void pre_order_iterate_descendants(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void pre_order_iterate_descendants(Node& node, UnaryFunction function)
+    {
+        for (pre_order_descendant_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_PRE_ORDER_DESC_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/pre_order_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/pre_order_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,293 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_PRE_ORDER_ITERATOR_HPP_INCLUDED
+#define BOOST_TREE_NODE_PRE_ORDER_ITERATOR_HPP_INCLUDED
+
+#include <deque>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_SFINAE
+#include <boost/tr1/type_traits.hpp>
+#include <boost/utility/enable_if.hpp>
+#endif
+#include <boost/iterator/iterator_categories.hpp>
+#include <boost/iterator/iterator_adaptor.hpp>
+#include <boost/tree_node/traversal_state.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+#include <boost/detail/metafunction/container_iterator.hpp>
+
+//[reference__pre_order_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    class pre_order_iterator
+      : public ::boost::iterator_adaptor<
+            pre_order_iterator<Node>
+          , Node*
+          , ::boost::use_default
+          , ::boost::forward_traversal_tag
+        >
+    {
+        //<-
+        typedef typename ::boost::detail::container_iterator<Node>::type
+                child_iterator;
+        typedef ::boost::iterator_adaptor<
+                    pre_order_iterator<Node>
+                  , Node*
+                  , ::boost::use_default
+                  , ::boost::forward_traversal_tag
+                >
+                super_t;
+
+#ifndef BOOST_NO_SFINAE
+        struct enabler
+        {
+        };
+#endif
+
+     public:  // Should be private, but conversion ctor won't work.
+        ::std::deque<Node*>          _node_stack;
+        ::std::deque<child_iterator> _itr_stack;
+        child_iterator               _current_itr;
+        traversal_state              _state;
+        //->
+
+     public:
+        pre_order_iterator();
+
+        explicit pre_order_iterator(Node& node);
+
+        template <typename N>
+        pre_order_iterator(
+            pre_order_iterator<N> const& other
+//<-
+#ifndef BOOST_NO_SFINAE
+          , typename ::boost::enable_if<
+                ::std::tr1::is_convertible<N,Node>
+              , enabler
+            >::type = enabler()
+#endif
+//->
+        );
+
+        operator traversal_state() const;
+
+        //<-
+#if !BOOST_WORKAROUND(__GNUC__, == 2)
+     private:
+        friend class ::boost::iterator_core_access;
+#endif
+
+        void increment();
+
+        template <typename Node1, typename Node2>
+        friend bool
+            operator==(
+                pre_order_iterator<Node1> const& lhs
+              , pre_order_iterator<Node2> const& rhs
+            );
+        //->
+    };
+
+    //<-
+    template <typename Node>
+    pre_order_iterator<Node>::pre_order_iterator()
+      : super_t()
+      , _node_stack()
+      , _itr_stack()
+      , _current_itr()
+      , _state(no_traversal)
+    {
+    }
+
+    template <typename Node>
+    pre_order_iterator<Node>::pre_order_iterator(Node& node)
+      : super_t(&node)
+      , _node_stack()
+      , _itr_stack()
+      , _current_itr()
+      , _state(pre_order_traversal)
+    {
+        _itr_stack.push_back(node.begin());
+    }
+
+    template <typename Node>
+    template <typename N>
+    pre_order_iterator<Node>::pre_order_iterator(
+        pre_order_iterator<N> const& other
+#ifndef BOOST_NO_SFINAE
+      , typename ::boost::enable_if<
+            ::std::tr1::is_convertible<N,Node>
+          , enabler
+        >::type
+#endif
+    ) : super_t(other.base())
+      , _node_stack(other._node_stack.begin(), other._node_stack.end())
+      , _itr_stack(other._itr_stack.begin(), other._itr_stack.end())
+      , _current_itr(other._current_itr)
+      , _state(other._state)
+    {
+    }
+
+    template <typename Node>
+    inline pre_order_iterator<Node>::operator traversal_state() const
+    {
+        return _state;
+    }
+
+    template <typename Node>
+    void pre_order_iterator<Node>::increment()
+    {
+        if (_itr_stack.back() == this->base()->end())
+        {
+            bool is_post_order = true;
+
+            while (is_post_order)
+            {
+                _itr_stack.pop_back();
+
+                if (_node_stack.empty())
+                {
+                    _state = no_traversal;
+                    _itr_stack.clear();
+                    is_post_order = false;
+                }
+                else
+                {
+                    this->base_reference() = _node_stack.back();
+                    _node_stack.pop_back();
+
+                    if (++_current_itr == this->base()->end())
+                    {
+                        child_iterator itr = _itr_stack.back();
+
+                        _itr_stack.pop_back();
+
+                        if (!_itr_stack.empty())
+                        {
+                            _current_itr = _itr_stack.back();
+                        }
+
+                        _itr_stack.push_back(itr);
+                    }
+                    else
+                    {
+                        _itr_stack.pop_back();
+                        _node_stack.push_back(this->base());
+                        _itr_stack.push_back(_current_itr);
+                        this->base_reference() = &dereference_iterator(
+                            _current_itr
+                        );
+                        _itr_stack.push_back(this->base()->begin());
+                        is_post_order = false;
+                    }
+                }
+            }
+        }
+        else
+        {
+            _node_stack.push_back(this->base());
+            this->base_reference() = &dereference_iterator(
+                _current_itr = _itr_stack.back()
+            );
+            _itr_stack.push_back(this->base()->begin());
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__pre_order_iterator__operator_equals
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator==(
+            pre_order_iterator<Node1> const& lhs
+          , pre_order_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator==(
+            pre_order_iterator<Node1> const& lhs
+          , pre_order_iterator<Node2> const& rhs
+        )
+    {
+        if (lhs._state == rhs._state)
+        {
+            return lhs._state ? (*lhs == *rhs) : !rhs._state;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__pre_order_iterator__operator_not_equal
+namespace boost { namespace tree_node {
+
+    template <typename Node1, typename Node2>
+    bool
+        operator!=(
+            pre_order_iterator<Node1> const& lhs
+          , pre_order_iterator<Node2> const& rhs
+        );
+
+    //<-
+    template <typename Node1, typename Node2>
+    inline bool
+        operator!=(
+            pre_order_iterator<Node1> const& lhs
+          , pre_order_iterator<Node2> const& rhs
+        )
+    {
+        return !(lhs == rhs);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__make_pre_order_iterator
+namespace boost { namespace tree_node {
+
+    template <typename Node>
+    pre_order_iterator<Node> make_pre_order_iterator(Node& node);
+
+    //<-
+    template <typename Node>
+    inline pre_order_iterator<Node> make_pre_order_iterator(Node& node)
+    {
+        return pre_order_iterator<Node>(node);
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+//[reference__pre_order_iterate
+namespace boost { namespace tree_node {
+
+    template <typename Node, typename UnaryFunction>
+    void pre_order_iterate(Node& node, UnaryFunction function);
+
+    //<-
+    template <typename Node, typename UnaryFunction>
+    void pre_order_iterate(Node& node, UnaryFunction function)
+    {
+        for (pre_order_iterator<Node> itr(node); itr; ++itr)
+        {
+            function(*itr);
+        }
+    }
+    //->
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_PRE_ORDER_ITERATOR_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/traversal_state.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/traversal_state.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,24 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_TRAVERSAL_STATE_HPP_INCLUDED
+#define BOOST_TREE_NODE_TRAVERSAL_STATE_HPP_INCLUDED
+
+//[reference__traversal_state
+namespace boost { namespace tree_node {
+
+    enum traversal_state
+    {
+        no_traversal
+      , pre_order_traversal
+      , post_order_traversal
+      , breadth_first_traversal
+      , in_order_traversal
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_TRAVERSAL_STATE_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/typeof.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/typeof.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,56 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_TYPEOF_HPP_INCLUDED
+#define BOOST_TREE_NODE_TYPEOF_HPP_INCLUDED
+
+#include <boost/typeof/typeof.hpp>
+#include <boost/tree_node.hpp>
+
+#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+BOOST_TYPEOF_REGISTER_TYPE(boost::tree_node::traversal_state)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::breadth_first_iterator, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(
+    boost::tree_node::breadth_first_descendant_iterator
+  , 1
+)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::pre_order_iterator, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(
+    boost::tree_node::pre_order_descendant_iterator
+  , 1
+)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::post_order_iterator, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(
+    boost::tree_node::post_order_descendant_iterator
+  , 1
+)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::in_order_iterator, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::depth_first_iterator, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(
+    boost::tree_node::depth_first_descendant_iterator
+  , 1
+)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::tree_node_base, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::binary_node_base, 2)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::binary_node, 1)
+BOOST_TYPEOF_REGISTER_TYPE(boost::tree_node::binary_node_gen)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::nary_node_base, 3)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::nary_node, 2)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::nary_node_gen, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::associative_node_base, 4)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::associative_node, 3)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::associative_node_gen, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_depth_base, 5)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_depth, 4)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_depth_gen, 2)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_position_base, 4)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_position, 3)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_position_gen, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_red_black_flag_base, 4)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_red_black_flag, 3)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::tree_node::with_red_black_flag_gen, 1)
+
+#endif  // BOOST_TREE_NODE_TYPEOF_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/with_depth.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/with_depth.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,454 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_WITH_DEPTH_HPP_INCLUDED
+#define BOOST_TREE_NODE_WITH_DEPTH_HPP_INCLUDED
+
+#include <boost/cstdint.hpp>
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/apply_wrap.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/move/move.hpp>
+#include <boost/utility/value_init.hpp>
+#include <boost/tree_node/post_order_iterator.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    class with_depth_base
+      : public
+        //[reference__with_depth_base__bases
+        ::boost::mpl::eval_if<
+            ::std::tr1::is_void<T2>
+          , ::boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>
+          , ::boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>
+        >::type
+        //]
+    {
+        friend struct tree_node_base<Derived>;
+
+        BOOST_COPYABLE_AND_MOVABLE(with_depth_base);
+
+        typedef typename ::boost::mpl::eval_if<
+                    ::std::tr1::is_void<T2>
+                  , ::boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>
+                  , ::boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>
+                >::type
+                super_t;
+
+     public:
+        typedef typename super_t::traits
+                traits;
+        typedef typename super_t::pointer
+                pointer;
+        typedef typename super_t::const_pointer
+                const_pointer;
+        typedef typename super_t::iterator
+                iterator;
+        typedef typename super_t::const_iterator
+                const_iterator;
+
+     private:
+        Depth _depth;
+
+     public:
+        //[reference__with_depth_base__default_ctor
+        with_depth_base();
+        //]
+
+        //[reference__with_depth_base__data_ctor
+        explicit with_depth_base(typename traits::data_type const& data);
+        //]
+
+        with_depth_base(BOOST_RV_REF(with_depth_base) source);
+
+        with_depth_base&
+            operator=(BOOST_COPY_ASSIGN_REF(with_depth_base) copy);
+
+        with_depth_base& operator=(BOOST_RV_REF(with_depth_base) source);
+
+        //[reference__with_depth_base__get_depth
+        Depth const& get_depth() const;
+        //]
+
+     protected:
+        void shallow_update_impl();
+
+        void deep_update_impl();
+
+     private:
+        void _update_less_depth();
+
+        void _update_greater_depth();
+    };
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::with_depth_base()
+      : super_t(), _depth(::boost::initialized_value)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::with_depth_base(
+        typename traits::data_type const& data
+    ) : super_t(data), _depth(::boost::initialized_value)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::with_depth_base(
+        BOOST_RV_REF(with_depth_base) source
+    ) : super_t(::boost::move(static_cast<super_t&>(source)))
+      , _depth(source._depth)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    inline with_depth_base<Derived,BaseGenerator,T1,T2,Depth>&
+        with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::operator=(
+            BOOST_COPY_ASSIGN_REF(with_depth_base) copy
+        )
+    {
+        if (this != ©)
+        {
+            super_t::operator=(static_cast<super_t const&>(copy));
+            _depth = copy._depth;
+        }
+
+        return *this;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    inline with_depth_base<Derived,BaseGenerator,T1,T2,Depth>&
+        with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::operator=(
+            BOOST_RV_REF(with_depth_base) source
+        )
+    {
+        if (this != &source)
+        {
+            super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+            _depth = source._depth;
+        }
+
+        return *this;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    inline Depth const&
+        with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::get_depth() const
+    {
+        return _depth;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    void
+        with_depth_base<
+            Derived
+          , BaseGenerator
+          , T1
+          , T2
+          , Depth
+        >::shallow_update_impl()
+    {
+        super_t::shallow_update_impl();
+
+        Depth new_depth = ::boost::initialized_value, depth_plus_1;
+        const_iterator c_end(this->end());
+
+        for (const_iterator c_itr(this->begin()); c_itr != c_end; ++c_itr)
+        {
+            depth_plus_1 = dereference_iterator(c_itr).get_depth();
+
+            if (new_depth < ++depth_plus_1)
+            {
+                new_depth = depth_plus_1;
+            }
+        }
+
+        if (new_depth < _depth)
+        {
+            _depth = new_depth;
+            _update_less_depth();
+        }
+        else if (_depth < new_depth)
+        {
+            _depth = new_depth;
+            _update_greater_depth();
+        }
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    void with_depth_base<Derived,BaseGenerator,T1,T2,Depth>::deep_update_impl()
+    {
+        super_t::deep_update_impl();
+
+        Depth const old_depth = _depth;
+        Depth new_depth, depth_plus_1;
+        const_iterator c_itr, c_end;
+
+        for (
+            post_order_iterator<Derived> itr(*this->get_derived());
+            itr;
+            ++itr
+        )
+        {
+            new_depth = ::boost::initialized_value;
+            c_end = itr->end();
+
+            for (c_itr = itr->begin(); c_itr != c_end; ++c_itr)
+            {
+                depth_plus_1 = dereference_iterator(c_itr).get_depth();
+
+                if (new_depth < ++depth_plus_1)
+                {
+                    new_depth = depth_plus_1;
+                }
+            }
+
+            itr->_depth = new_depth;
+        }
+
+        if (_depth < old_depth)
+        {
+            _update_less_depth();
+        }
+        else if (old_depth < _depth)
+        {
+            _update_greater_depth();
+        }
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    void
+        with_depth_base<
+            Derived
+          , BaseGenerator
+          , T1
+          , T2
+          , Depth
+        >::_update_less_depth()
+    {
+        pointer p = this->get_derived();
+        Depth new_depth, depth_plus_1;
+        const_iterator c_itr, c_end;
+
+        while (p = p->get_parent_ptr())
+        {
+            new_depth = ::boost::initialized_value;
+            c_end = p->end();
+
+            for (c_itr = p->begin(); c_itr != c_end; ++c_itr)
+            {
+                depth_plus_1 = dereference_iterator(c_itr).get_depth();
+
+                if (new_depth < ++depth_plus_1)
+                {
+                    new_depth = depth_plus_1;
+                }
+            }
+
+            if (p->get_depth() == new_depth)
+            {
+                return;
+            }
+            else
+            {
+                // This is no longer the deepest branch.
+                p->_depth = new_depth;
+            }
+        }
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+      , typename Depth
+    >
+    void
+        with_depth_base<
+            Derived
+          , BaseGenerator
+          , T1
+          , T2
+          , Depth
+        >::_update_greater_depth()
+    {
+        Depth this_depth = _depth;
+        pointer p = this->get_derived();
+
+        while ((p = p->get_parent_ptr()) && (p->_depth < ++this_depth))
+        {
+            // This is the new deepest branch.
+            p->_depth = this_depth;
+        }
+    }
+}}  // namespace boost::tree_node
+
+namespace boost { namespace tree_node {
+
+    template <
+        typename BaseGenerator
+      , typename T1
+      , typename T2 = void
+      , typename Depth = ::std::size_t
+    >
+    class with_depth
+      : public
+        //[reference__with_depth__bases
+        with_depth_base<
+            with_depth<BaseGenerator,T1,T2,Depth>
+          , BaseGenerator
+          , T1
+          , T2
+          , Depth
+        >
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(with_depth);
+
+        typedef with_depth_base<with_depth,BaseGenerator,T1,T2,Depth> super_t;
+
+     public:
+        typedef typename super_t::traits traits;
+        typedef typename super_t::pointer pointer;
+        typedef typename super_t::const_pointer const_pointer;
+        typedef typename super_t::iterator iterator;
+        typedef typename super_t::const_iterator const_iterator;
+
+        //[reference__with_depth__default_ctor
+        with_depth();
+        //]
+
+        //[reference__with_depth__data_ctor
+        explicit with_depth(typename traits::data_type const& data);
+        //]
+
+        with_depth(BOOST_RV_REF(with_depth) source);
+
+        with_depth& operator=(BOOST_COPY_ASSIGN_REF(with_depth) copy);
+
+        with_depth& operator=(BOOST_RV_REF(with_depth) source);
+    };
+
+    template <typename BaseGenerator, typename T1, typename T2, typename Depth>
+    with_depth<BaseGenerator,T1,T2,Depth>::with_depth() : super_t()
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2, typename Depth>
+    with_depth<BaseGenerator,T1,T2,Depth>::with_depth(
+        typename traits::data_type const& data
+    ) : super_t(data)
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2, typename Depth>
+    with_depth<BaseGenerator,T1,T2,Depth>::with_depth(
+        BOOST_RV_REF(with_depth) source
+    ) : super_t(::boost::move(static_cast<super_t&>(source)))
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2, typename Depth>
+    inline with_depth<BaseGenerator,T1,T2,Depth>&
+        with_depth<BaseGenerator,T1,T2,Depth>::operator=(
+            BOOST_COPY_ASSIGN_REF(with_depth) copy
+        )
+    {
+        super_t::operator=(static_cast<super_t const&>(copy));
+        return *this;
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2, typename Depth>
+    inline with_depth<BaseGenerator,T1,T2,Depth>&
+        with_depth<BaseGenerator,T1,T2,Depth>::operator=(
+            BOOST_RV_REF(with_depth) source
+        )
+    {
+        super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+        return *this;
+    }
+}}  // namespace boost::tree_node
+
+//[reference__with_depth_gen
+namespace boost { namespace tree_node {
+
+    template <typename BaseGenerator, typename Depth = ::std::size_t>
+    struct with_depth_gen
+    {
+        template <typename Derived, typename T1, typename T2 = void>
+        struct apply
+        {
+            typedef with_depth_base<Derived,BaseGenerator,T1,T2,Depth> type;
+        };
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_WITH_DEPTH_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/with_position.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/with_position.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,340 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_WITH_POSITION_HPP_INCLUDED
+#define BOOST_TREE_NODE_WITH_POSITION_HPP_INCLUDED
+
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/apply_wrap.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/move/move.hpp>
+#include <boost/tree_node/algorithm/dereference_iterator.hpp>
+
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    class with_position_base
+      : public
+        //[reference__with_position_base__bases
+        ::boost::mpl::eval_if<
+            ::std::tr1::is_void<T2>
+          , ::boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>
+          , ::boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>
+        >::type
+        //]
+    {
+        friend struct tree_node_base<Derived>;
+
+        BOOST_COPYABLE_AND_MOVABLE(with_position_base);
+
+        typedef typename ::boost::mpl::eval_if<
+                    ::std::tr1::is_void<T2>
+                  , ::boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>
+                  , ::boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>
+                >::type
+                super_t;
+
+     public:
+        typedef typename super_t::traits
+                traits;
+        typedef typename super_t::pointer
+                pointer;
+        typedef typename super_t::const_pointer
+                const_pointer;
+        typedef typename super_t::iterator
+                iterator;
+        typedef typename super_t::const_iterator
+                const_iterator;
+
+     private:
+        iterator _position;
+
+     public:
+        //[reference__with_position_base__default_ctor
+        with_position_base();
+        //]
+
+        //[reference__with_position_base__data_ctor
+        explicit with_position_base(typename traits::data_type const& data);
+        //]
+
+        with_position_base(BOOST_RV_REF(with_position_base) source);
+
+        with_position_base&
+            operator=(BOOST_COPY_ASSIGN_REF(with_position_base) copy);
+
+        with_position_base&
+            operator=(BOOST_RV_REF(with_position_base) source);
+
+        //[reference__with_position_base__get_position__const
+        const_iterator get_position() const;
+        //]
+
+        //[reference__with_position_base__get_position
+        iterator get_position();
+        //]
+
+     protected:
+        void set_position_impl(iterator position, ::boost::mpl::true_);
+
+        void set_position_impl(iterator position, ::boost::mpl::false_);
+    };
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    with_position_base<
+        Derived
+      , BaseGenerator
+      , T1
+      , T2
+    >::with_position_base() : super_t(), _position()
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    with_position_base<Derived,BaseGenerator,T1,T2>::with_position_base(
+        typename traits::data_type const& data
+    ) : super_t(data), _position()
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    with_position_base<Derived,BaseGenerator,T1,T2>::with_position_base(
+        BOOST_RV_REF(with_position_base) source
+    )
+      : super_t(::boost::move(static_cast<super_t&>(source)))
+      , _position(source._position)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline with_position_base<Derived,BaseGenerator,T1,T2>&
+        with_position_base<Derived,BaseGenerator,T1,T2>::operator=(
+            BOOST_COPY_ASSIGN_REF(with_position_base) copy
+        )
+    {
+        if (this != ©)
+        {
+            super_t::operator=(static_cast<super_t const&>(copy));
+            _position = copy._position;
+        }
+
+        return *this;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline with_position_base<Derived,BaseGenerator,T1,T2>&
+        with_position_base<Derived,BaseGenerator,T1,T2>::operator=(
+            BOOST_RV_REF(with_position_base) source
+        )
+    {
+        if (this != &source)
+        {
+            super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+            _position = source._position;
+        }
+
+        return *this;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline typename with_position_base<
+        Derived
+      , BaseGenerator
+      , T1
+      , T2
+    >::const_iterator
+        with_position_base<Derived,BaseGenerator,T1,T2>::get_position() const
+    {
+        return _position;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline typename with_position_base<Derived,BaseGenerator,T1,T2>::iterator
+        with_position_base<Derived,BaseGenerator,T1,T2>::get_position()
+    {
+        return _position;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline void
+        with_position_base<Derived,BaseGenerator,T1,T2>::set_position_impl(
+            iterator position
+          , ::boost::mpl::true_ t
+        )
+    {
+        super_t::set_position_impl(position, t);
+        _position = position;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    void
+        with_position_base<Derived,BaseGenerator,T1,T2>::set_position_impl(
+            iterator position
+          , ::boost::mpl::false_ f
+        )
+    {
+        super_t::set_position_impl(position, f);
+
+        iterator c_end = this->get_parent_ptr()->end();
+
+        for (
+            position = this->get_parent_ptr()->begin();
+            position != c_end;
+            ++position
+        )
+        {
+            dereference_iterator(position)._position = position;
+        }
+    }
+}}  // namespace boost::tree_node
+
+namespace boost { namespace tree_node {
+
+    template <typename BaseGenerator, typename T1, typename T2 = void>
+    class with_position
+      : public
+        //[reference__with_position__bases
+        with_position_base<
+            with_position<BaseGenerator,T1,T2>
+          , BaseGenerator
+          , T1
+          , T2
+        >
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(with_position);
+
+        typedef with_position_base<with_position,BaseGenerator,T1,T2> super_t;
+
+     public:
+        typedef typename super_t::traits traits;
+        typedef typename super_t::pointer pointer;
+        typedef typename super_t::const_pointer const_pointer;
+        typedef typename super_t::iterator iterator;
+        typedef typename super_t::const_iterator const_iterator;
+
+        //[reference__with_position__default_ctor
+        with_position();
+        //]
+
+        //[reference__with_position__data_ctor
+        explicit with_position(typename traits::data_type const& data);
+        //]
+
+        with_position(BOOST_RV_REF(with_position) source);
+
+        with_position& operator=(BOOST_COPY_ASSIGN_REF(with_position) copy);
+
+        with_position& operator=(BOOST_RV_REF(with_position) source);
+    };
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    with_position<BaseGenerator,T1,T2>::with_position() : super_t()
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    with_position<BaseGenerator,T1,T2>::with_position(
+        typename traits::data_type const& data
+    ) : super_t(data)
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    with_position<BaseGenerator,T1,T2>::with_position(
+        BOOST_RV_REF(with_position) source
+    ) : super_t(::boost::move(static_cast<super_t&>(source)))
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    inline with_position<BaseGenerator,T1,T2>&
+        with_position<BaseGenerator,T1,T2>::operator=(
+            BOOST_COPY_ASSIGN_REF(with_position) copy
+        )
+    {
+        super_t::operator=(static_cast<super_t const&>(copy));
+        return *this;
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    inline with_position<BaseGenerator,T1,T2>&
+        with_position<BaseGenerator,T1,T2>::operator=(
+            BOOST_RV_REF(with_position) source
+        )
+    {
+        super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+        return *this;
+    }
+}}  // namespace boost::tree_node
+
+//[reference__with_position_gen
+namespace boost { namespace tree_node {
+
+    template <typename BaseGenerator>
+    struct with_position_gen
+    {
+        template <typename Derived, typename T1, typename T2 = void>
+        struct apply
+        {
+            typedef with_position_base<Derived,BaseGenerator,T1,T2> type;
+        };
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_WITH_POSITION_HPP_INCLUDED
+
Added: sandbox/tree_node/boost/tree_node/with_red_black_flag.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/boost/tree_node/with_red_black_flag.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,330 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_TREE_NODE_WITH_RED_BLACK_FLAG_HPP_INCLUDED
+#define BOOST_TREE_NODE_WITH_RED_BLACK_FLAG_HPP_INCLUDED
+
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/apply_wrap.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/move/move.hpp>
+
+namespace boost { namespace tree_node {
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    class with_red_black_flag_base
+      : public
+        //[reference__with_red_black_flag_base__bases
+        ::boost::mpl::eval_if<
+            ::std::tr1::is_void<T2>
+          , ::boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>
+          , ::boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>
+        >::type
+        //]
+    {
+        BOOST_COPYABLE_AND_MOVABLE(with_red_black_flag_base);
+
+        typedef typename ::boost::mpl::eval_if<
+                    ::std::tr1::is_void<T2>
+                  , ::boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>
+                  , ::boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>
+                >::type
+                super_t;
+
+     public:
+        typedef typename super_t::traits
+                traits;
+        typedef typename super_t::pointer
+                pointer;
+        typedef typename super_t::const_pointer
+                const_pointer;
+        typedef typename super_t::iterator
+                iterator;
+        typedef typename super_t::const_iterator
+                const_iterator;
+
+     private:
+        bool _is_red;
+
+     public:
+        //[reference__with_red_black_flag_base__default_ctor
+        with_red_black_flag_base();
+        //]
+
+        //[reference__with_red_black_flag_base__data_ctor
+        explicit with_red_black_flag_base(
+            typename traits::data_type const& data
+        );
+        //]
+
+        with_red_black_flag_base(
+            BOOST_RV_REF(with_red_black_flag_base) source
+        );
+
+        with_red_black_flag_base&
+            operator=(BOOST_COPY_ASSIGN_REF(with_red_black_flag_base) copy);
+
+        with_red_black_flag_base&
+            operator=(BOOST_RV_REF(with_red_black_flag_base) source);
+
+        //[reference__with_red_black_flag_base__is_red
+        bool is_red() const;
+        //]
+
+        //[reference__with_red_black_flag_base__is_black
+        bool is_black() const;
+        //]
+
+        //[reference__with_red_black_flag_base__set_red_flag
+        void set_red_flag(bool flag);
+        //]
+    };
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    with_red_black_flag_base<
+        Derived
+      , BaseGenerator
+      , T1
+      , T2
+    >::with_red_black_flag_base() : super_t(), _is_red(false)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    with_red_black_flag_base<
+        Derived
+      , BaseGenerator
+      , T1
+      , T2
+    >::with_red_black_flag_base(typename traits::data_type const& data)
+      : super_t(data), _is_red(false)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    with_red_black_flag_base<
+        Derived
+      , BaseGenerator
+      , T1
+      , T2
+    >::with_red_black_flag_base(BOOST_RV_REF(with_red_black_flag_base) source)
+      : super_t(::boost::move(static_cast<super_t&>(source)))
+      , _is_red(source._is_red)
+    {
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline with_red_black_flag_base<Derived,BaseGenerator,T1,T2>&
+        with_red_black_flag_base<Derived,BaseGenerator,T1,T2>::operator=(
+            BOOST_COPY_ASSIGN_REF(with_red_black_flag_base) copy
+        )
+    {
+        if (this != ©)
+        {
+            super_t::operator=(static_cast<super_t const&>(copy));
+            _is_red = copy._is_red;
+        }
+
+        return *this;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline with_red_black_flag_base<Derived,BaseGenerator,T1,T2>&
+        with_red_black_flag_base<Derived,BaseGenerator,T1,T2>::operator=(
+            BOOST_RV_REF(with_red_black_flag_base) source
+        )
+    {
+        if (this != &source)
+        {
+            super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+            _is_red = source._is_red;
+        }
+
+        return *this;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline bool
+        with_red_black_flag_base<Derived,BaseGenerator,T1,T2>::is_red() const
+    {
+        return _is_red;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline bool
+        with_red_black_flag_base<
+            Derived
+          , BaseGenerator
+          , T1
+          , T2
+        >::is_black() const
+    {
+        return !_is_red;
+    }
+
+    template <
+        typename Derived
+      , typename BaseGenerator
+      , typename T1
+      , typename T2
+    >
+    inline void
+        with_red_black_flag_base<Derived,BaseGenerator,T1,T2>::set_red_flag(
+            bool flag
+        )
+    {
+        _is_red = flag;
+    }
+}}  // namespace boost::tree_node
+
+namespace boost { namespace tree_node {
+
+    template <typename BaseGenerator, typename T1, typename T2 = void>
+    class with_red_black_flag
+      : public
+        //[reference__with_red_black_flag__bases
+        with_red_black_flag_base<
+            with_red_black_flag<BaseGenerator,T1,T2>
+          , BaseGenerator
+          , T1
+          , T2
+        >
+        //]
+    {
+        typedef with_red_black_flag_base<
+                    with_red_black_flag
+                  , BaseGenerator
+                  , T1
+                  , T2
+                >
+                super_t;
+
+     public:
+        typedef typename super_t::traits
+                traits;
+        typedef typename super_t::pointer
+                pointer;
+        typedef typename super_t::const_pointer
+                const_pointer;
+        typedef typename super_t::iterator
+                iterator;
+        typedef typename super_t::const_iterator
+                const_iterator;
+
+        //[reference__with_red_black_flag__default_ctor
+        with_red_black_flag();
+        //]
+
+        //[reference__with_red_black_flag__data_ctor
+        explicit with_red_black_flag(typename traits::data_type const& data);
+        //]
+
+        with_red_black_flag(BOOST_RV_REF(with_red_black_flag) source);
+
+        with_red_black_flag&
+            operator=(BOOST_COPY_ASSIGN_REF(with_red_black_flag) copy);
+
+        with_red_black_flag&
+            operator=(BOOST_RV_REF(with_red_black_flag) source);
+    };
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    with_red_black_flag<BaseGenerator,T1,T2>::with_red_black_flag() : super_t()
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    with_red_black_flag<BaseGenerator,T1,T2>::with_red_black_flag(
+        typename traits::data_type const& data
+    ) : super_t(data)
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    with_red_black_flag<BaseGenerator,T1,T2>::with_red_black_flag(
+        BOOST_RV_REF(with_red_black_flag) source
+    ) : super_t(::boost::move(static_cast<super_t&>(source)))
+    {
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    inline with_red_black_flag<BaseGenerator,T1,T2>&
+        with_red_black_flag<BaseGenerator,T1,T2>::operator=(
+            BOOST_COPY_ASSIGN_REF(with_red_black_flag) copy
+        )
+    {
+        super_t::operator=(static_cast<super_t const&>(copy));
+        return *this;
+    }
+
+    template <typename BaseGenerator, typename T1, typename T2>
+    inline with_red_black_flag<BaseGenerator,T1,T2>&
+        with_red_black_flag<BaseGenerator,T1,T2>::operator=(
+            BOOST_RV_REF(with_red_black_flag) source
+        )
+    {
+        super_t::operator=(::boost::move(static_cast<super_t&>(source)));
+        return *this;
+    }
+}}  // namespace boost::tree_node
+
+//[reference__with_red_black_flag_gen
+namespace boost { namespace tree_node {
+
+    template <typename BaseGenerator>
+    struct with_red_black_flag_gen
+    {
+        template <typename Derived, typename T1, typename T2 = void>
+        struct apply
+        {
+            typedef with_red_black_flag_base<Derived,BaseGenerator,T1,T2>
+                    type;
+        };
+    };
+}}  // namespace boost::tree_node
+//]
+
+#endif  // BOOST_TREE_NODE_WITH_RED_BLACK_FLAG_HPP_INCLUDED
+
Added: sandbox/tree_node/libs/tree_node/doc/changelog.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/changelog.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,61 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section Changelog]
+
+[heading From 0.2 to 0.3]
+
+  * Added __Associative_Tree_Node__, __Non_Associative_Tree_Node__,
+    __Binary_Tree_Node__, __N_ary_Tree_Node__, and __Type_Generator__ concepts.
+  * Added __binary_node__ data structure, the corresponding __Base_Tree_Node__
+    model __binary_node_base__, and the corresponding __Type_Generator__ model
+    __binary_node_gen__.
+  * Renamed `raw_node` to __nary_node__; added the corresponding
+    __Base_Tree_Node__ model __nary_node_base__ and the corresponding
+    __Type_Generator__ model __nary_node_gen__.
+  * Renamed `raw_associative_node` to __associative_node__; added the
+    corresponding __Base_Tree_Node__ model __associative_node_base__ and the
+    corresponding __Type_Generator__ model __associative_node_gen__.
+  * Added the __Base_Tree_Node__ model __tree_node_with_depth_base__ and the
+    corresponding __Type_Generator__ model __tree_node_with_depth_gen__.
+  * Added __tree_node_with_position__ adaptor class template, the corresponding
+    __Base_Tree_Node__ model __tree_node_with_position_base__, and the
+    corresponding __Type_Generator__ model __tree_node_with_position_gen__.
+  * Added __tree_node_with_red_black_flag__ adaptor class template, the
+    corresponding __Base_Tree_Node__ model
+    __tree_node_with_red_black_flag_base__, and the corresponding
+    __Type_Generator__ model __tree_node_with_red_black_flag_gen__.
+  * Added __breadth_first_descendant_iterator__,
+    __pre_order_descendant_iterator__, __post_order_descendant_iterator__,
+    __in_order_iterator__, and __depth_first_descendant_iterator__ adaptor
+    class templates.
+  * Added __dereference_iterator__, __tree_node_equal__,
+    __tree_node_strictly_equal__, __tree_node_lexicographical_compare__, and
+    __tree_node_strict_lexicographical_compare__ algorithms.
+  * Removed [*Factory-Constructible Tree Node] and [*Cloneable Tree Node]
+    concepts.
+  * Removed `tree_node_factory` facade.
+  * Removed `shared_tree_node_base` `struct` template.
+  * Removed `simple_node` and `simple_associative_node` data structures.
+  * Removed `with_child_range_access` adaptor class template; __Tree_Node__
+    concept now requires child range access for all models.
+
+[heading From 0.1 to 0.2]
+
+  * Added __Base_Tree_Node__, [*Factory-Constructible Tree Node], and
+    [*Cloneable Tree Node] concepts.
+  * Added `tree_node_factory` facade.
+  * Added __tree_node_base__ and `shared_tree_node_base` `struct` templates;
+    each __Tree_Node__ model that is not a __Base_Tree_Node__ now inherits from
+    a corresponding __Base_Tree_Node__ which, in turn, inherits from one of
+    these two types.
+  * Added `with_child_range_access` and __tree_node_with_depth__
+    adaptor class templates.
+
+[endsect] [/ Changelog]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_assoc_tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_assoc_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,187 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:associative_tree_node Associative Tree Node]
+
+[section Description]
+Models of this concept provide key-based access to their child nodes.
+[endsect]
+
+[section Refinement of]
+__Tree_Node__
+[endsect]
+
+[variablelist Notation
+    [[`Node`][A type that models the [*Associative Tree Node] concept.]]
+    [[`node`][An object of type `Node::pointer`.]]
+    [[`const_node`][An object of type `Node::const_pointer`.]]
+    [[`key`][An object of type `Node::traits::key_type const&`.]]
+    [[`data`][An object of type `Node::traits::data_type const&`.]]
+]
+
+[section:types Associated Types]
+One new type is introduced.
+
+[table
+    [[Name][Expression][Description][Requirements]]
+    [
+        [Key type]
+        [`Node::traits::key_type`]
+        [The type of a key that a tree node will associate with a child node.]
+        []
+    ]
+]
+
+In addition, the requirements for the iterator types are strengthened:
+
+  * The value type of `Node::iterator` must define a `first_type` type.
+  * The value type of `Node::iterator` must define a `first` member variable of
+    type `first_type`.
+  * Given an object `itr` of type `Node::iterator`, `itr->first` must be
+    convertible to `Node::traits::key_type const&`.
+  * The value type of `Node::iterator` must define a `second_type` type.
+  * The value type of `Node::iterator` must define a `second` member variable
+    of type `second_type`.
+  * Given an object `itr` of type `Node::iterator`, `itr->second` must be
+    convertible to `Node&`.
+  * The value type of `Node::const_iterator` must define a `first_type` type.
+  * The value type of `Node::const_iterator` must define a `first` member
+    variable of type `first_type`.
+  * Given an object `itr` of type `Node::const_iterator`, `itr->first` must be
+    convertible to `Node::traits::key_type const&`.
+  * The value type of `Node::const_iterator` must define a `second_type` type.
+  * The value type of `Node::const_iterator` must define a `second` member
+    variable of type `second_type`.
+  * Given an object `itr` of type `Node::const_iterator`, `itr->second` must be
+    convertible to `Node const&`.
+
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+In addition to the expressions defined in the __Tree_Node__ concept, the
+following expressions must be valid.
+
+[table
+    [
+        [Name]
+        [Expression]
+        [Type requirements]
+        [Return Type]
+        [Semantics]
+        [__Runtime_Complexity__]
+    ]
+    [
+        [Child creation with data]
+        [`node->add_child(key, data);`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be associated with the specified
+            key in the range of children of the invoking node.  The node
+            returned will store the specified data.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Child creation]
+        [`node->add_child(key)`]
+        [
+            `Node::traits::data_type` must model the __Default_Constructible__
+            concept.
+        ]
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be associated with the specified
+            key in the range of children of the invoking node.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Child copy creation]
+        [`node->add_child_copy(key, const_node)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a deep copy of `const_node` to be associated
+            with the specified key in the range of children of the invoking
+            node.
+        ]
+        [Linear with respect to the number of descendants of `const_node`]
+    ]
+    [
+        [Child search]
+        [`const_node->find_child(key)`]
+        []
+        [`Node::const_iterator`]
+        [
+            Returns an iterator pointing to a child node associated with the
+            specified key, or `const_node->end()` if no such child exists.
+        ]
+        [Logarithmic]
+    ]
+    [
+        [Child search]
+        [`node->find_child(key)`]
+        []
+        [`Node::iterator`]
+        [
+            Returns an iterator pointing to a child node associated with the
+            specified key, or `node->end()` if no such child exists.
+        ]
+        [Logarithmic]
+    ]
+    [
+        [Child search range]
+        [`const_node->find_children(key)`]
+        []
+        [[^_std_pair_<Node::const_iterator,Node::const_iterator>]]
+        [
+            Returns a pair `p` such that `[p.first, p.second)` is a range
+            of all child nodes associated with the specified key.  If no such
+            children exist, then the range will be empty.
+        ]
+        [Logarithmic]
+    ]
+    [
+        [Child search range]
+        [`node->find_children(key)`]
+        []
+        [[^_std_pair_<Node::iterator,Node::iterator>]]
+        [
+            Returns a pair `p` such that `[p.first, p.second)` is a range
+            of all child nodes associated with the specified key.  If no such
+            children exist, then the range will be empty.
+        ]
+        [Logarithmic]
+    ]
+    [
+        [Remove children]
+        [`node->remove_children(key)`]
+        []
+        [`std::size_t`]
+        [
+            Removes all child nodes associated with the specified key from the
+            tree node.  Returns the number of children removed.
+        ]
+        [
+            Linear with respect to the number of children and their descendants
+            in the range to be removed, plus logarithmic
+        ]
+    ]
+]
+[endsect]
+
+[section Models]
+
+  * __associative_node__
+  * __associative_node_base__
+
+[endsect]
+
+[endsect] [/ Associative Tree Node]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_base_tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_base_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,122 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:base_tree_node Base Tree Node]
+
+[section Description]
+Models of this concept allow both the __Factory_Constructible_Tree_Node__
+models and the __Tree_Node__ adaptor types to parameterically inherit their
+functionality for greater reuse.
+
+In practice, each [*Base Tree Node] model must do the following:
+
+  * Inherit from either __tree_node_base__ or the return type of a
+    __Type_Generator__.
+  * Take in the derived type and the data type as template parameters.
+
+
+[endsect]
+
+[section Refinement of]
+
+  * __Tree_Node__
+  * __Default_Constructible__
+
+[endsect]
+
+[variablelist Notation
+    [[`Base`][A type that models the [*Base Tree Node] concept.]]
+    [[`base`][An object of type `Base*`.]]
+    [[`const_base`][An object of type `Base const*`.]]
+    [[`Node`][A __Tree_Node__ model that inherits from `Base`.]]
+    [[`data`][An object of type `Node::traits::data_type const&`.]]
+]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Tree_Node__ and
+__Default_Constructible__ concepts.
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+In addition to the expressions defined in the __Tree_Node__ and
+__Default_Constructible__ concepts, the following expressions must be valid.
+
+[table
+    [[Name][Expression][Return Type][Semantics][__Runtime_Complexity__]]
+    [
+        [Derived access]
+        [`base->get_derived()`]
+        [`Node::pointer`]
+        [Returns a pointer to the same `Node` object.]
+        [Constant]
+    ]
+    [
+        [Derived access]
+        [`const_base->get_derived()`]
+        [`Node::const_pointer`]
+        [Returns a pointer to the same immutable `Node` object.]
+        [Constant]
+    ]
+    [
+        [Constructor with data]
+        [`Base(data)`]
+        []
+        [Constructs a `Base` object that stores the specified data.]
+        []
+    ]
+]
+
+Also, the following expressions must be valid from within any `Node` member
+function.
+
+[table
+    [[Name][Expression][Return Type][Semantics][__Runtime_Complexity__]]
+    [
+        [Shallow update]
+        [`base->shallow_update_derived()`]
+        [`void`]
+        [
+            Updates any `Node`-specific information invalidated by operations
+            that structurally modify only a few nodes, e.g. adding a single
+            child, removing children and their descendants, or simple
+            rotations.
+        ]
+        [
+            Linear with respect to the number of children plus the number of
+            ancestors.
+        ]
+    ]
+    [
+        [Deep update]
+        [`base->deep_update_derived()`]
+        [`void`]
+        [
+            Updates any `Node`-specific information invalidated by operations
+            that structurally modify all descendants, e.g. cloning.
+        ]
+        [
+            Linear with respect to the number of descendants plus the number of
+            ancestors.
+        ]
+    ]
+]
+[endsect] [/ Valid Expressions and Semantics]
+
+[section Models]
+
+  * __binary_node_base__
+  * __nary_node_base__
+  * __associative_node_base__
+  * __tree_node_with_depth_base__
+  * __tree_node_with_position_base__
+  * __tree_node_with_red_black_flag_base__
+
+[endsect]
+
+[endsect] [/ Base Tree Node]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_binary_tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_binary_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,227 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:binary_tree_node Binary Tree Node]
+
+[section Description]
+Models of this concept store at most two child nodes: left and right.  The
+operations that this concept defines include access to these children and
+rotations that use the appropriate child as a pivot node.
+[endsect]
+
+[section Refinement of]
+__Non_Associative_Tree_Node__
+[endsect]
+
+[variablelist Notation
+    [
+        [`Node`]
+        [A type that models the [*Binary Tree Node] concept.]
+    ]
+    [
+        [`node`]
+        [An object of type `Node::pointer`.]
+    ]
+    [
+        [`const_node`]
+        [An object of type `Node::const_pointer`.]
+    ]
+    [
+        [`data`]
+        [An object of type `Node::traits::data_type const&`.]
+    ]
+]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Non_Associative_Tree_Node__
+concept.
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+In addition to the expressions defined in the __Non_Associative_Tree_Node__
+concept, the following expressions must be valid.
+
+[table
+    [
+        [Name]
+        [Expression]
+        [Type requirements]
+        [Return Type]
+        [Semantics]
+        [__Runtime_Complexity__]
+    ]
+    [
+        [Left child creation with data]
+        [`node->add_left_child(data)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be stored as the left child of
+            the invoking node.  The node returned will store the specified
+            data.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Left child creation]
+        [`node->add_left_child()`]
+        [
+            `Node::traits::data_type` must model the __Default_Constructible__
+            concept.
+        ]
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be stored as the left child of
+            the invoking node.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Left child copy creation]
+        [`node->add_left_child_copy(const_node)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a deep copy of `const_node` to be stored as the
+            left child of the invoking node.
+        ]
+        [Linear with respect to the number of descendants of `const_node`]
+    ]
+    [
+        [Right child creation with data]
+        [`node->add_right_child(data)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be stored as the right child of
+            the invoking node.  The node returned will store the specified
+            data.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Right child creation]
+        [`node->add_right_child()`]
+        [
+            `Node::traits::data_type` must model the __Default_Constructible__
+            concept.
+        ]
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be stored as the right child of
+            the invoking node.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Right child copy creation]
+        [`node->add_right_child_copy(const_node)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a deep copy of `const_node` to be stored as the
+            right child of the invoking node.
+        ]
+        [Linear with respect to the number of descendants of `const_node`]
+    ]
+    [
+        [Left child access]
+        [`const_node->get_left_child_ptr()`]
+        []
+        [`Node::const_pointer`]
+        [
+            Returns the left child of the tree node, or a null pointer if no
+            such tree node exists.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Left child access]
+        [`node->get_left_child_ptr()`]
+        []
+        [`Node::pointer`]
+        [
+            Returns the left child of the tree node, or a null pointer if no
+            such tree node exists.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Right child access]
+        [`const_node->get_right_child_ptr()`]
+        []
+        [`Node::const_pointer`]
+        [
+            Returns the right child of the tree node, or a null pointer if no
+            such tree node exists.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Right child access]
+        [`node->get_right_child_ptr()`]
+        []
+        [`Node::pointer`]
+        [
+            Returns the right child of the tree node, or a null pointer if no
+            such tree node exists.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Rotate left]
+        [`node->rotate_left()`]
+        []
+        [`Node::pointer`]
+        [
+            Rotates the tree node in its hierarchy so that its right child, the
+            pivot node, becomes its parent.  The left child of the pivot node
+            becomes the right child of the tree node.  Returns the pivot node.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Rotate right]
+        [`node->rotate_right()`]
+        []
+        [`Node::pointer`]
+        [
+            Rotates the tree node in its hierarchy so that its left child, the
+            pivot node, becomes its parent.  The right child of the pivot node
+            becomes the left child of the tree node.  Returns the pivot node.
+        ]
+        [Amortized constant]
+    ]
+    [
+        [Remove left child]
+        [`node->remove_left_child()`]
+        []
+        [`void`]
+        [Removes the left child from the tree node.]
+        [Linear with respect to the number of descendants of the left child]
+    ]
+    [
+        [Remove right child]
+        [`node->remove_right_child()`]
+        []
+        [`void`]
+        [Removes the right child from the tree node.]
+        [Linear with respect to the number of descendants of the right child]
+    ]
+]
+[endsect]
+
+[section Models]
+
+  * __binary_node__
+  * __binary_node_base__
+
+[endsect]
+
+[endsect] [/ Binary Tree Node]
+
Deleted: sandbox/tree_node/libs/tree_node/doc/concept_cloneable_tree_node.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/concept_cloneable_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,55 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:cloneable_tree_node Cloneable Tree Node]
-
-[section Description]
-Models of this concept provide a simple, uniform deep-copying interface.
-[endsect]
-
-[section Refinement of]
-__Tree_Node__
-[endsect]
-
-[variablelist Notation
-    [[`Node`][A type that models the [*Cloneable Tree Node] concept.]]
-    [[`const_node`][An object of type `Node::const_pointer`.]]
-]
-
-[section:types Associated Types]
-No additional types beyond those defined in the __Tree_Node__ concept.
-[endsect]
-
-[section:expressions Valid Expressions and Semantics]
-In addition to the expressions defined in the __Tree_Node__ concept, the
-following expressions must be valid.
-
-[table
-    [[Name][Expression][Return Type][Semantics][__Runtime_Complexity__]]
-    [
-        [Clone]
-        [`const_node->clone()`]
-        [`Node::pointer`]
-        [Constructs and returns a deep copy of the invoking node.]
-        [Linear with respect to the number of descendants]
-    ]
-]
-[endsect] [/ Valid Expressions and Semantics]
-
-[section Models]
-
-  * __raw_binary_node__
-  * __raw_node__
-  * __simple_node__
-  * __raw_associative_node__
-  * __simple_associative_node__
-
-[endsect]
-
-[endsect] [/ Cloneable Tree Node]
-
Added: sandbox/tree_node/libs/tree_node/doc/concept_descendant_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_descendant_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,85 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:tree_node_desc_iterator Tree Node Descendant Iterator]
+
+[section Description]
+This concept may seem redundant at first, especially when iterating through
+__Non_Associative_Tree_Node__ objects; however, for __Associative_Tree_Node__
+objects, models of this concept provide the sole means of accessing the key
+associated with each node being traversed.  (Root nodes are not associated with
+keys at the tree node level, so models of this concept do not traverse them.)
+[endsect]
+
+[section Refinement of]
+__Tree_Node_Iterator__
+[endsect]
+
+[variablelist Notation
+    [
+        [`Iterator`]
+        [A type that models the [*Tree Node Descendant Iterator] concept.]
+    ]
+    [
+        [`itr`]
+        [An object of type `Iterator`.]
+    ]
+    [
+        [`Node`]
+        [A type that models the __Tree_Node__ concept.]
+    ]
+    [
+        [`node`]
+        [An object of type `Node&`.]
+    ]
+]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Tree_Node_Iterator__ concept;
+however, the requirements for the value type are strengthened: it must be the
+appropriate iterator type of `Node`.
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+None beyond those defined in the __Tree_Node_Iterator__ concept; however, the
+type requirements for the constructors are strengthened, and their semantics
+are clarified.
+
+[table
+    [
+        [Name]
+        [Expression]
+        [Type requirements]
+        [Semantics]
+    ]
+    [
+        [Constructor from node]
+        [``
+            Iterator(node)
+            Iterator itr(node)
+        ``]
+        []
+        [
+            Constructs an iterator that will iterate through the descendants of
+            the specified node.
+        ]
+    ]
+]
+[endsect]
+
+[section Models]
+
+  * __breadth_first_descendant_iterator__
+  * __pre_order_descendant_iterator__
+  * __post_order_descendant_iterator__
+  * __depth_first_descendant_iterator__
+
+[endsect]
+
+[endsect] [/ Tree Node Descendant Iterator]
+
Deleted: sandbox/tree_node/libs/tree_node/doc/concept_factory_construct.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/concept_factory_construct.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,91 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:factory_constructible Factory-Constructible Tree Node]
-
-[section Description]
-Models of this concept allow the __tree_node_factory__ facade to create objects
-of their instantiated types.  In practice, models of this concept must either
-declare their respective constructors in `public` scope or declare the
-__tree_node_factory__ to be a `friend struct`.
-[endsect]
-
-[section Refinement of]
-__Tree_Node__
-[endsect]
-
-[variablelist Notation
-    [
-        [`Node`]
-        [A type that models the [*Factory-Constructible Tree Node] concept.]
-    ]
-    [
-        [`node`]
-        [An object of type `Node*`.]
-    ]
-    [
-        [`data`]
-        [An object of type `Node::traits::data_type const&`.]
-    ]
-]
-
-[section:types Associated Types]
-No additional types beyond those defined in the __Tree_Node__ concept.
-[endsect]
-
-[section:expressions Valid Expressions and Semantics]
-In addition to the expressions defined in the __Tree_Node__ concept, the
-following expressions must be valid.
-
-[table
-    [[Name][Expression][Return Type][Semantics][__Runtime_Complexity__]]
-    [
-        [Heap-allocated default construction]
-        [`new Node()`]
-        [`Node*`]
-        [Default-constructs a `Node` object on the heap.]
-        [Constant]
-    ]
-    [
-        [Heap-allocated construction with data]
-        [`new Node(data)`]
-        [`Node*`]
-        [
-            Constructs a `Node` object on the heap that stores the specified
-            data.
-        ]
-        [Constant]
-    ]
-    [
-        [Pointer conversion]
-        [`Node::pointer(node)`]
-        [`Node::pointer`]
-        [
-            Converts the specified raw pointer.  If `Node::pointer` is the same
-            as `Node*`, then the conversion is trivial; however, if the pointer
-            type is a __tr1_shared_ptr__, then the conversion is necessary.
-        ]
-        [Constant]
-    ]
-]
-[endsect] [/ Valid Expressions and Semantics]
-
-[section Models]
-
-  * __raw_binary_node__
-  * __raw_node__
-  * __simple_node__
-  * __raw_associative_node__
-  * __simple_associative_node__
-  * __tree_node_with_child_range_access__
-  * __tree_node_with_depth__
-
-[endsect]
-
-[endsect] [/ Factory-Constructible Tree Node]
-
Added: sandbox/tree_node/libs/tree_node/doc/concept_full_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_full_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,71 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:full_tree_node_iterator Full Tree Node Iterator]
+
+[section Description]
+This concept specifies the requirement that models traverse the root node as
+well as its descendants.
+[endsect]
+
+[section Refinement of]
+__Tree_Node_Iterator__
+[endsect]
+
+[variablelist Notation
+    [[`Iterator`][A type that models the [*Full Tree Node Iterator] concept.]]
+    [[`itr`][An object of type `Iterator`.]]
+    [[`Node`][The value type of `Iterator`.]]
+    [[`node`][An object of type `Node&`.]]
+]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Tree_Node_Iterator__ concept;
+however, the requirements for the value type are strengthened: it must model
+the __Tree_Node__ concept.
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+None beyond those defined in the __Tree_Node_Iterator__ concept; however, the
+type requirements for the constructors are strengthened, and their semantics
+are clarified.
+
+[table
+    [
+        [Name]
+        [Expression]
+        [Type requirements]
+        [Semantics]
+    ]
+    [
+        [Constructor from node]
+        [``
+            Iterator(node)
+            Iterator itr(node)
+        ``]
+        []
+        [
+            Constructs an iterator that will iterate through the specified node
+            and its descendants.
+        ]
+    ]
+]
+[endsect]
+
+[section Models]
+
+  * __breadth_first_iterator__
+  * __pre_order_iterator__
+  * __post_order_iterator__
+  * __in_order_iterator__
+  * __depth_first_iterator__
+
+[endsect]
+
+[endsect] [/ Full Tree Node Iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,93 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:tree_node_iterator Tree Node Iterator]
+
+[section Description]
+Tree-traversing iterators at the __Tree_Node__ level must be created
+differently from iterators at the __Container__ level.  Furthermore, tree node
+iterators typically store more stateful information than their __Container__
+counterparts; requiring two of them to check for dereferenceability may prove
+somewhat memory-inefficient.  This concept provides an alternate means of
+checking for dereferenceability that requires the use of only the active
+iterator.
+[endsect]
+
+[section Refinement of]
+__Forward_Iterator__
+[endsect]
+
+[variablelist Notation
+    [[`Iterator`][A type that models the [*Tree Node Iterator] concept.]]
+    [[`itr`][An object of type `Iterator`.]]
+    [[`Node`][A type that models the __Tree_Node__ concept.]]
+    [[`node`][An object of type `Node&`.]]
+]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Forward_Iterator__ concept.
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+In addition to the expressions defined in the __Forward_Iterator__ concept, the
+following expressions must be valid.
+
+[table
+    [
+        [Name]
+        [Expression]
+        [Return Type]
+        [Semantics]
+        [__Runtime_Complexity__]
+    ]
+    [
+        [Default constructor]
+        [``
+            Iterator()
+            Iterator itr
+        ``]
+        []
+        [Constructs a non-dereferenceable (past-the-end) iterator.]
+        [Constant]
+    ]
+    [
+        [Constructor from node]
+        [``
+            Iterator(node)
+            Iterator itr(node)
+        ``]
+        []
+        [Refinement-specific.]
+        [Amortized constant]
+    ]
+    [
+        [Dereferenceability]
+        [`itr`]
+        [A type that can be used in a boolean context.]
+        [
+            Returns a value convertible to `true` if `itr` is dereferenceable,
+            a value convertible to `false` if it is past-the-end.
+        ]
+        [Constant]
+    ]
+]
+
+The __Forward_Iterator__ requirement that the increment operators must exhibit
+constant time complexity has been relaxed; they now need only exhibit linear
+time complexity with respect to the number of descendants in the worst case.
+[endsect]
+
+[section Models]
+
+  * All models of the __Full_Tree_Node_Iterator__ concept.
+  * All models of the __Tree_Node_Descendant_Iterator__ concept.
+
+[endsect]
+
+[endsect] [/ Tree Node Iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_nary_tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_nary_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,105 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:nary_tree_node N-ary Tree Node]
+
+[section Description]
+Models of this concept store arbitrary numbers of children and provide simple
+child insertion expressions.
+[endsect]
+
+[section Refinement of]
+__Non_Associative_Tree_Node__
+[endsect]
+
+[variablelist Notation
+    [
+        [`Node`]
+        [A type that models the [*N-ary Tree Node] concept.]
+    ]
+    [
+        [`node`]
+        [An object of type `Node::pointer`.]
+    ]
+    [
+        [`const_node`]
+        [An object of type `Node::const_pointer`.]
+    ]
+    [
+        [`data`]
+        [An object of type `Node::traits::data_type const&`.]
+    ]
+]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Non_Associative_Tree_Node__
+concept.
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+In addition to the expressions defined in the __Non_Associative_Tree_Node__
+concept, the following expressions must be valid.
+
+[table
+    [
+        [Name]
+        [Expression]
+        [Type requirements]
+        [Return Type]
+        [Semantics]
+        [__Runtime_Complexity__]
+    ]
+    [
+        [Child creation with data]
+        [`node->add_child(data)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be stored in the range of
+            children of the invoking node.  The node returned will store
+            the specified data.
+        ]
+        [Logarithmic]
+    ]
+    [
+        [Child creation]
+        [`node->add_child()`]
+        [
+            `Node::traits::data_type` must model the __Default_Constructible__
+            concept.
+        ]
+        [`Node::iterator`]
+        [
+            Creates and returns a tree node to be stored in the range of
+            children of the invoking node.
+        ]
+        [Logarithmic]
+    ]
+    [
+        [Child copy creation]
+        [`node->add_child_copy(const_node)`]
+        []
+        [`Node::iterator`]
+        [
+            Creates and returns a deep copy of `const_node` to be stored in the
+            range of children of the invoking node.
+        ]
+        [Linear with respect to the number of descendants of `const_node`]
+    ]
+]
+[endsect]
+
+[section Models]
+
+  * __nary_node__
+  * __nary_node_base__
+
+[endsect]
+
+[endsect] [/ N-ary Tree Node]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_non_assoc_tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_non_assoc_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,43 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:non_assoc_tree_node Non-Associative Tree Node]
+
+[section Description]
+Models of this concept provide access to their child nodes via iterator
+dereferencing.
+[endsect]
+
+[section Refinement of]
+__Tree_Node__
+[endsect]
+
+[section:types Associated Types]
+No additional types beyond those defined in the __Tree_Node__ concept; however,
+the requirements for the child iterator types are strengthened:
+
+  * The value type of `Node::iterator` must be `Node&`.
+  * The value type of `Node::const_iterator` must be `Node const&`.
+
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+None beyond those defined in the __Tree_Node__ concept.
+[endsect]
+
+[section Models]
+
+  * __binary_node__
+  * __binary_node_base__
+  * __nary_node__
+  * __nary_node_base__
+
+[endsect]
+
+[endsect] [/ Non-Associative Tree Node]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,202 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:tree_node Tree Node]
+
+[section Description]
+All tree node implementations that this library provides model this concept:
+a structure that maintains information about its data and its immediate
+parent-child relationships.  However, in practice, a full-fledged tree node
+data structure or adaptor consists of three components: a __Base_Tree_Node__
+model that defines the functionality, a [*Tree Node] model that inherits from
+the base type and is better suited for external usage, and a __Type_Generator__
+that returns the __Base_Tree_Node__ model from which adaptor types can also
+inherit.
+[endsect]
+
+[variablelist Notation
+    [[`Node`][A type that models the [*Tree Node] concept.]]
+    [[`node`][An object of type `Node::pointer`.]]
+    [[`const_node`][An object of type `Node::const_pointer`.]]
+]
+
+[section:types Associated Types]
+[table
+    [[Name][Expression][Description][Requirements]]
+    [
+        [Data type]
+        [`Node::traits::data_type`]
+        [The type of the object stored in a tree node.]
+        [
+            It must model the __Copy_Constructible__ concept, but need not
+            model the __Assignable__ concept.
+        ]
+    ]
+    [
+        [Pointer type]
+        [`Node::pointer`]
+        [The type of a pointer to a `Node` object.]
+        [
+            It must model the __Trivial_Iterator__ concept, it must point to
+            a mutable object, and it must be implicitly convertible to
+            `Node::const_pointer`.
+        ]
+    ]
+    [
+        [Pointer-to-const type]
+        [`Node::const_pointer`]
+        [The type of a pointer to a `Node const` object.]
+        [
+            It must model the __Trivial_Iterator__ concept, and it must /not/
+            point to a mutable object.
+        ]
+    ]
+    [
+        [Iterator type]
+        [`Node::iterator`]
+        [
+            The type of iterator used to iterate through the children of a
+            `Node` object.
+        ]
+        [
+            It must model the __Input_Iterator__ concept, and it must be
+            convertible to `Node::const_iterator`.
+        ]
+    ]
+    [
+        [Immutable iterator type]
+        [`Node::const_iterator`]
+        [
+            The type of iterator used to iterate through the children of a
+            `Node const` object.
+        ]
+        [
+            It must model the __Input_Iterator__ concept.
+        ]
+    ]
+]
+[endsect]
+
+[section:expressions Valid Expressions and Semantics]
+[table
+    [[Name][Expression][Return Type][Semantics][__Runtime_Complexity__]]
+    [
+        [Data access]
+        [`const_node->get_data()`]
+        [`Node::traits::data_type const&`]
+        [Returns the object stored in the tree node.]
+        [Constant]
+    ]
+    [
+        [Data access]
+        [`node->get_data()`]
+        [`Node::traits::data_type&`]
+        [Returns the object stored in the tree node.]
+        [Constant]
+    ]
+    [
+        [Parent access]
+        [`const_node->get_parent_ptr()`]
+        [`Node::const_pointer`]
+        [
+            Returns a pointer to the parent of the tree node, or a null pointer
+            if the node is the root.
+        ]
+        [Constant]
+    ]
+    [
+        [Parent access]
+        [`node->get_parent_ptr()`]
+        [`Node::pointer`]
+        [
+            Returns a pointer to the parent of the tree node, or a null pointer
+            if the node is the root.
+        ]
+        [Constant]
+    ]
+    [
+        [Children range begin access]
+        [`const_node->begin()`]
+        [`Node::const_iterator`]
+        [
+            Returns an iterator pointing to the beginning of the range of
+            children of the tree node.  If the range is empty, then the
+            iterator points past-the-end.
+        ]
+        [Constant]
+    ]
+    [
+        [Children range begin access]
+        [`node->begin()`]
+        [`Node::iterator`]
+        [
+            Returns an iterator pointing to the beginning of the range of
+            children of the tree node.  If the range is empty, then the
+            iterator points past-the-end.
+        ]
+        [Constant]
+    ]
+    [
+        [Children range past-the-end access]
+        [`const_node->end()`]
+        [`Node::const_iterator`]
+        [
+            Returns an iterator pointing past the end of the range of children
+            of the tree node.
+        ]
+        [Constant]
+    ]
+    [
+        [Children range past-the-end access]
+        [`node->end()`]
+        [`Node::iterator`]
+        [
+            Returns an iterator pointing past the end of the range of children
+            of the tree node.
+        ]
+        [Constant]
+    ]
+    [
+        [Leaf node query]
+        [`const_node->empty()`]
+        [`bool`]
+        [
+            Equivalent to `const_node->begin() == const_node->end()`, but may
+            be more efficient in certain cases.
+        ]
+        [Linear with respect to the number of children]
+    ]
+    [
+        [Remove all children]
+        [`node->clear()`]
+        [`void`]
+        [Removes all children from the tree node.]
+        [Linear with respect to the number of children and their descendants]
+    ]
+]
+[endsect] [/ Valid Expressions and Semantics]
+
+[section Models]
+
+  * __binary_node__
+  * __binary_node_base__
+  * __nary_node__
+  * __nary_node_base__
+  * __associative_node__
+  * __associative_node_base__
+  * __tree_node_with_depth__
+  * __tree_node_with_depth_base__
+  * __tree_node_with_position__
+  * __tree_node_with_position_base__
+  * __tree_node_with_red_black_flag__
+  * __tree_node_with_red_black_flag_base__
+
+[endsect]
+
+[endsect] [/ Tree Node]
+
Added: sandbox/tree_node/libs/tree_node/doc/concept_type_generator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concept_type_generator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,73 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:type_generator Type Generator]
+
+[section Description]
+A [*Type Generator] is a __Metafunction_Class__ that returns a
+__Base_Tree_Node__ from which __Tree_Node__ adaptor types can inherit the
+necessary functionality.
+[endsect]
+
+[variablelist Notation
+    [
+        [`Generator`]
+        [A type that models the [*Type Generator] concept.]
+    ]
+    [
+        [`Derived`]
+        [
+            The most descendant type that will inherit from the return type of
+            `Generator`.
+        ]
+    ]
+    [
+        [`Key`]
+        [The key type of the __Associative_Tree_Node__ to be returned.]
+    ]
+    [
+        [`Data`]
+        [The data type of the __Tree_Node__ to be returned.]
+    ]
+]
+
+[section:expressions Valid Expressions and Semantics]
+[table
+    [[Name][Expression][Return Type]]
+    [
+        [Non-associative invocation]
+        [[^_mpl_apply_wrap2_<Generator,Derived,Data>::type]]
+        [
+            A __Non_Associative_Tree_Node__ model whose `traits::data_type` is
+            the same as `Data`.
+        ]
+    ]
+    [
+        [Associative invocation]
+        [[^_mpl_apply_wrap3_<Generator,Derived,Key,Data>::type]]
+        [
+            An __Associative_Tree_Node__ model whose `traits::key_type` is the
+            same as `Key` and whose `traits::data_type` is the same as `Data`.
+        ]
+    ]
+]
+[endsect]
+
+[section Models]
+
+  * __binary_node_gen__
+  * __nary_node_gen__
+  * __associative_node_gen__
+  * __tree_node_with_depth_gen__
+  * __tree_node_with_position_gen__
+  * __tree_node_with_red_black_flag_gen__
+
+[endsect]
+
+[endsect] [/ Type Generator]
+
Added: sandbox/tree_node/libs/tree_node/doc/concepts.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/concepts.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,36 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section Concepts]
+
+[include concept_tree_node.qbk]
+[include concept_base_tree_node.qbk]
+[include concept_assoc_tree_node.qbk]
+[include concept_non_assoc_tree_node.qbk]
+[include concept_binary_tree_node.qbk]
+[include concept_nary_tree_node.qbk]
+[include concept_type_generator.qbk]
+[include concept_iterator.qbk]
+[include concept_full_iterator.qbk]
+[include concept_descendant_iterator.qbk]
+
+[heading Core Concepts]
+
+  * __Tree_Node__
+      * __Base_Tree_Node__
+      * __Associative_Tree_Node__
+      * __Non_Associative_Tree_Node__
+          * __Binary_Tree_Node__
+          * __N_ary_Tree_Node__
+  * __Type_Generator__
+  * __Tree_Node_Iterator__
+      * __Full_Tree_Node_Iterator__
+      * __Tree_Node_Descendant_Iterator__
+
+[endsect] [/ Concepts]
+
Added: sandbox/tree_node/libs/tree_node/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/index.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter 1. tree_node 0.3</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Chapter 1. tree_node 0.3">
+<link rel="next" href="tree_node/concepts.html" title="Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="tree_node/concepts.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="chapter">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="tree_node"></a>Chapter 1. tree_node 0.3</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Cromwell D.</span> <span class="surname">Enage</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 2011 -2012 Cromwell D. Enage</p></div>
+<div><div class="legalnotice">
+<a name="idp13446576"></a><p>
+        Distributed under the Boost Software License, Version 1.0. (See accompanying
+        file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+      </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Concepts</span></dt>
+<dt><span class="section">Reference</span></dt>
+<dt><span class="section">Changelog</span></dt>
+</dl>
+</div>
+<a name="tree_node.rationale"></a><h3>
+<a name="idp13448752"></a>
+    <a class="link" href="index.html#tree_node.rationale">Rationale</a>
+  </h3>
+<p>
+    Over the course of reimplementing a decision tree learning algorithm to use modern
+    C++ techniques, the need for a generic tree library became evident. The in-house
+    data structures in use at the time were undergoing modification as well. It was
+    found that the core operations occurred at the node level rather than at the
+    tree level, which stored only high-level algorithms. Efforts went underway to
+    retrofit these algorithms to use iterators and to further factor out generic
+    data structures from the decision tree components and other application-specific
+    utilities. This library represents the Boostified culmination of these efforts.
+  </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: January 31, 2012 at 08:14:54 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="tree_node/concepts.html"><img src="images/next.png" alt="Next"></a></div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Concepts</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="prev" href="../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="next" href="concepts/tree_node.html" title="Tree Node">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/tree_node.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="tree_node.concepts"></a><a class="link" href="concepts.html" title="Concepts">Concepts</a>
+</h2></div></div></div>
+<a name="tree_node.concepts.core_concepts"></a><h4>
+<a name="idp14674496"></a>
+      <a class="link" href="concepts.html#tree_node.concepts.core_concepts">Core Concepts</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a>
+    <span class="special">*</span> <a class="link" href="concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+    <span class="special">*</span> <a class="link" href="concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+    <span class="special">*</span> <a class="link" href="concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+        <span class="special">*</span> <a class="link" href="concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+        <span class="special">*</span> <a class="link" href="concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
+<span class="special">*</span> <a class="link" href="concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>
+<span class="special">*</span> <a class="link" href="concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+    <span class="special">*</span> <a class="link" href="concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+    <span class="special">*</span> <a class="link" href="concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/tree_node.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/associative_tree_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/associative_tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,481 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Associative Tree Node</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="base_tree_node.html" title="Base Tree Node">
+<link rel="next" href="non_assoc_tree_node.html" title="Non-Associative Tree Node">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="non_assoc_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.associative_tree_node"></a><a class="link" href="associative_tree_node.html" title="Associative Tree Node">Associative
+      Tree Node</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.associative_tree_node.description"></a><a class="link" href="associative_tree_node.html#tree_node.concepts.associative_tree_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Models of this concept provide key-based access to their child nodes.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.associative_tree_node.refinement_of"></a><a class="link" href="associative_tree_node.html#tree_node.concepts.associative_tree_node.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+          Node</strong></span></a>
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Associative Tree Node</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">const_node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">key</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
+              <span class="keyword">const</span><span class="special">&</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">data</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
+              <span class="keyword">const</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.associative_tree_node.types"></a><a class="link" href="associative_tree_node.html#tree_node.concepts.associative_tree_node.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          One new type is introduced.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    Key type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a key that a tree node will associate with a child
+                    node.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+<p>
+          In addition, the requirements for the iterator types are strengthened:
+        </p>
+<pre class="programlisting"><span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">first_type</span><span class="error">`</span> <span class="identifier">type</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">first</span><span class="error">`</span> <span class="identifier">member</span> <span class="identifier">variable</span> <span class="identifier">of</span>
+  <span class="identifier">type</span> <span class="error">`</span><span class="identifier">first_type</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">Given</span> <span class="identifier">an</span> <span class="identifier">object</span> <span class="error">`</span><span class="identifier">itr</span><span class="error">`</span> <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">itr</span><span class="special">-></span><span class="identifier">first</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">be</span>
+  <span class="identifier">convertible</span> <span class="identifier">to</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">second_type</span><span class="error">`</span> <span class="identifier">type</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">second</span><span class="error">`</span> <span class="identifier">member</span> <span class="identifier">variable</span>
+  <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">second_type</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">Given</span> <span class="identifier">an</span> <span class="identifier">object</span> <span class="error">`</span><span class="identifier">itr</span><span class="error">`</span> <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">itr</span><span class="special">-></span><span class="identifier">second</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">be</span>
+  <span class="identifier">convertible</span> <span class="identifier">to</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">&</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">first_type</span><span class="error">`</span> <span class="identifier">type</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">first</span><span class="error">`</span> <span class="identifier">member</span>
+  <span class="identifier">variable</span> <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">first_type</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">Given</span> <span class="identifier">an</span> <span class="identifier">object</span> <span class="error">`</span><span class="identifier">itr</span><span class="error">`</span> <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">itr</span><span class="special">-></span><span class="identifier">first</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">be</span>
+  <span class="identifier">convertible</span> <span class="identifier">to</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">second_type</span><span class="error">`</span> <span class="identifier">type</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">define</span> <span class="identifier">a</span> <span class="error">`</span><span class="identifier">second</span><span class="error">`</span> <span class="identifier">member</span>
+  <span class="identifier">variable</span> <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">second_type</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">Given</span> <span class="identifier">an</span> <span class="identifier">object</span> <span class="error">`</span><span class="identifier">itr</span><span class="error">`</span> <span class="identifier">of</span> <span class="identifier">type</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">itr</span><span class="special">-></span><span class="identifier">second</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">be</span>
+  <span class="identifier">convertible</span> <span class="identifier">to</span> <span class="error">`</span><span class="identifier">Node</span> <span class="keyword">const</span><span class="special">&</span><span class="error">`</span><span class="special">.</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.associative_tree_node.expressions"></a><a class="link" href="associative_tree_node.html#tree_node.concepts.associative_tree_node.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          In addition to the expressions defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, the following expressions
+          must be valid.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Type requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_child</span><span class="special">(</span><span class="identifier">key</span><span class="special">,</span>
+                    <span class="identifier">data</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be associated with the specified
+                    key in the range of children of the invoking node. The node returned
+                    will store the specified data.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_child</span><span class="special">(</span><span class="identifier">key</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code> must model the Default Constructible concept.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be associated with the specified
+                    key in the range of children of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">key</span><span class="special">,</span>
+                    <span class="identifier">const_node</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a deep copy of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                    to be associated with the specified key in the range of children
+                    of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">find_child</span><span class="special">(</span><span class="identifier">key</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns an iterator pointing to a child node associated with
+                    the specified key, or <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">end</span><span class="special">()</span></code> if no such child exists.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Logarithmic
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">find_child</span><span class="special">(</span><span class="identifier">key</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns an iterator pointing to a child node associated with
+                    the specified key, or <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">end</span><span class="special">()</span></code> if no such child exists.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Logarithmic
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search range
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">find_children</span><span class="special">(</span><span class="identifier">key</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">std::pair<Node::const_iterator,Node::const_iterator></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a pair <code class="computeroutput"><span class="identifier">p</span></code>
+                    such that <code class="computeroutput"><span class="special">[</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span></code> is a range of all child nodes
+                    associated with the specified key. If no such children exist,
+                    then the range will be empty.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Logarithmic
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search range
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">find_children</span><span class="special">(</span><span class="identifier">key</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">std::pair<Node::iterator,Node::iterator></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a pair <code class="computeroutput"><span class="identifier">p</span></code>
+                    such that <code class="computeroutput"><span class="special">[</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span></code> is a range of all child nodes
+                    associated with the specified key. If no such children exist,
+                    then the range will be empty.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Logarithmic
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">remove_children</span><span class="special">(</span><span class="identifier">key</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Removes all child nodes associated with the specified key from
+                    the tree node. Returns the number of children removed.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of children and their descendants
+                    in the range to be removed, plus logarithmic
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.associative_tree_node.models"></a><a class="link" href="associative_tree_node.html#tree_node.concepts.associative_tree_node.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="base_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="non_assoc_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/base_tree_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/base_tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,341 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Base Tree Node</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="tree_node.html" title="Tree Node">
+<link rel="next" href="associative_tree_node.html" title="Associative Tree Node">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.base_tree_node"></a><a class="link" href="base_tree_node.html" title="Base Tree Node">Base Tree Node</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.base_tree_node.description"></a><a class="link" href="base_tree_node.html#tree_node.concepts.base_tree_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Models of this concept allow both the __Factory_Constructible_Tree<span class="underline">Node</span>_ models and the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor types to parameterically
+          inherit their functionality for greater reuse.
+        </p>
+<p>
+          In practice, each <span class="bold"><strong>Base Tree Node</strong></span> model
+          must do the following:
+        </p>
+<pre class="programlisting"><span class="special">*</span> <span class="identifier">Inherit</span> <span class="identifier">from</span> <span class="identifier">either</span> <a class="link" href="../reference/tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a> <span class="keyword">or</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="identifier">a</span>
+  <a class="link" href="type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">Take</span> <span class="identifier">in</span> <span class="identifier">the</span> <span class="identifier">derived</span> <span class="identifier">type</span> <span class="keyword">and</span> <span class="identifier">the</span> <span class="identifier">data</span> <span class="identifier">type</span> <span class="identifier">as</span> <span class="keyword">template</span> <span class="identifier">parameters</span><span class="special">.</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.base_tree_node.refinement_of"></a><a class="link" href="base_tree_node.html#tree_node.concepts.base_tree_node.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible
+</pre>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Base</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Base Tree Node</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">base</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Base</span><span class="special">*</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">const_base</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Base</span> <span class="keyword">const</span><span class="special">*</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+              Node</strong></span></a> model that inherits from <code class="computeroutput"><span class="identifier">Base</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">data</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
+              <span class="keyword">const</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.base_tree_node.types"></a><a class="link" href="base_tree_node.html#tree_node.concepts.base_tree_node.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> and Default Constructible concepts.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.base_tree_node.expressions"></a><a class="link" href="base_tree_node.html#tree_node.concepts.base_tree_node.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          In addition to the expressions defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> and Default Constructible concepts, the following
+          expressions must be valid.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">base</span><span class="special">-></span><span class="identifier">get_derived</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a pointer to the same <code class="computeroutput"><span class="identifier">Node</span></code>
+                    object.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_base</span><span class="special">-></span><span class="identifier">get_derived</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a pointer to the same immutable <code class="computeroutput"><span class="identifier">Node</span></code>
+                    object.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Base</span><span class="special">(</span><span class="identifier">data</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    Constructs a <code class="computeroutput"><span class="identifier">Base</span></code>
+                    object that stores the specified data.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+          Also, the following expressions must be valid from within any <code class="computeroutput"><span class="identifier">Node</span></code> member function.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Shallow update
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">base</span><span class="special">-></span><span class="identifier">shallow_update_derived</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Updates any <code class="computeroutput"><span class="identifier">Node</span></code>-specific
+                    information invalidated by operations that structurally modify
+                    only a few nodes, e.g. adding a single child, removing children
+                    and their descendants, or simple rotations.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of children plus the number
+                    of ancestors.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Deep update
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">base</span><span class="special">-></span><span class="identifier">deep_update_derived</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Updates any <code class="computeroutput"><span class="identifier">Node</span></code>-specific
+                    information invalidated by operations that structurally modify
+                    all descendants, e.g. cloning.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants plus the number
+                    of ancestors.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.base_tree_node.models"></a><a class="link" href="base_tree_node.html#tree_node.concepts.base_tree_node.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/binary_tree_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/binary_tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,583 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binary Tree Node</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="non_assoc_tree_node.html" title="Non-Associative Tree Node">
+<link rel="next" href="nary_tree_node.html" title="N-ary Tree Node">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_assoc_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.binary_tree_node"></a><a class="link" href="binary_tree_node.html" title="Binary Tree Node">Binary Tree Node</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.binary_tree_node.description"></a><a class="link" href="binary_tree_node.html#tree_node.concepts.binary_tree_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Models of this concept store at most two child nodes: left and right. The
+          operations that this concept defines include access to these children and
+          rotations that use the appropriate child as a pivot node.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.binary_tree_node.refinement_of"></a><a class="link" href="binary_tree_node.html#tree_node.concepts.binary_tree_node.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative
+          Tree Node</strong></span></a>
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Binary Tree Node</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">const_node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">data</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
+              <span class="keyword">const</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.binary_tree_node.types"></a><a class="link" href="binary_tree_node.html#tree_node.concepts.binary_tree_node.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.binary_tree_node.expressions"></a><a class="link" href="binary_tree_node.html#tree_node.concepts.binary_tree_node.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          In addition to the expressions defined in the <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> concept, the following
+          expressions must be valid.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Type requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Left child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_left_child</span><span class="special">(</span><span class="identifier">data</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be stored as the left child
+                    of the invoking node. The node returned will store the specified
+                    data.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_left_child</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code> must model the Default Constructible concept.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be stored as the left child
+                    of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_left_child_copy</span><span class="special">(</span><span class="identifier">const_node</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a deep copy of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                    to be stored as the left child of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_right_child</span><span class="special">(</span><span class="identifier">data</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be stored as the right child
+                    of the invoking node. The node returned will store the specified
+                    data.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_right_child</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code> must model the Default Constructible concept.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be stored as the right child
+                    of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_right_child_copy</span><span class="special">(</span><span class="identifier">const_node</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a deep copy of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                    to be stored as the right child of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">get_left_child_ptr</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the left child of the tree node, or a null pointer if
+                    no such tree node exists.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">get_left_child_ptr</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the left child of the tree node, or a null pointer if
+                    no such tree node exists.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">get_right_child_ptr</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the right child of the tree node, or a null pointer if
+                    no such tree node exists.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">get_right_child_ptr</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the right child of the tree node, or a null pointer if
+                    no such tree node exists.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Rotate left
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">rotate_left</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Rotates the tree node in its hierarchy so that its right child,
+                    the pivot node, becomes its parent. The left child of the pivot
+                    node becomes the right child of the tree node. Returns the pivot
+                    node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Rotate right
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">rotate_right</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Rotates the tree node in its hierarchy so that its left child,
+                    the pivot node, becomes its parent. The right child of the pivot
+                    node becomes the left child of the tree node. Returns the pivot
+                    node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove left child
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">remove_left_child</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Removes the left child from the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants of the left
+                    child
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove right child
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">remove_right_child</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Removes the right child from the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants of the right
+                    child
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.binary_tree_node.models"></a><a class="link" href="binary_tree_node.html#tree_node.concepts.binary_tree_node.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="non_assoc_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/cloneable_tree_node.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/cloneable_tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,163 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Cloneable Tree Node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../concepts.html" title="Concepts">
-<link rel="prev" href="factory_constructible.html" title="Factory-Constructible Tree Node">
-<link rel="next" href="associative_tree_node.html" title="Associative Tree Node">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="factory_constructible.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.concepts.cloneable_tree_node"></a><a class="link" href="cloneable_tree_node.html" title="Cloneable Tree Node">Cloneable Tree
-      Node</a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.cloneable_tree_node.description"></a><a class="link" href="cloneable_tree_node.html#tree_node.concepts.cloneable_tree_node.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          Models of this concept provide a simple, uniform deep-copying interface.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.cloneable_tree_node.refinement_of"></a><a class="link" href="cloneable_tree_node.html#tree_node.concepts.cloneable_tree_node.refinement_of" title="Refinement of">Refinement
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-          Node</strong></span></a>
-        </p>
-</div>
-<div class="variablelist">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
-<dd><p>
-              A type that models the <span class="bold"><strong>Cloneable Tree Node</strong></span>
-              concept.
-            </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">const_node</span></code></span></dt>
-<dd><p>
-              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>.
-            </p></dd>
-</dl>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.cloneable_tree_node.types"></a><a class="link" href="cloneable_tree_node.html#tree_node.concepts.cloneable_tree_node.types" title="Associated Types">Associated
-        Types</a>
-</h4></div></div></div>
-<p>
-          No additional types beyond those defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.cloneable_tree_node.expressions"></a><a class="link" href="cloneable_tree_node.html#tree_node.concepts.cloneable_tree_node.expressions" title="Valid Expressions and Semantics">Valid
-        Expressions and Semantics</a>
-</h4></div></div></div>
-<p>
-          In addition to the expressions defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, the following expressions
-          must be valid.
-        </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Return Type
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Semantics
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
-                    Complexity</a>
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">clone</span><span class="special">()</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Constructs and returns a deep copy of the invoking node.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Linear with respect to the number of descendants
-                  </p>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.cloneable_tree_node.models"></a><a class="link" href="cloneable_tree_node.html#tree_node.concepts.cloneable_tree_node.models" title="Models">Models</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/raw_binary_node.html" title="raw_binary_node"><code class="computeroutput"><span class="identifier">raw_binary_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/raw_node.html" title="raw_node"><code class="computeroutput"><span class="identifier">raw_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/simple_node.html" title="simple_node"><code class="computeroutput"><span class="identifier">simple_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/raw_associative_node.html" title="raw_associative_node"><code class="computeroutput"><span class="identifier">raw_associative_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/simple_associative_node.html" title="simple_associative_node"><code class="computeroutput"><span class="identifier">simple_associative_node</span></code></a>
-</pre>
-</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 © 2011 Cromwell D. Enage<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="factory_constructible.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/factory_constructible.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/factory_constructible.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,234 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Factory-Constructible Tree Node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../concepts.html" title="Concepts">
-<link rel="prev" href="base_tree_node.html" title="Base Tree Node">
-<link rel="next" href="cloneable_tree_node.html" title="Cloneable Tree Node">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="base_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="cloneable_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.concepts.factory_constructible"></a><a class="link" href="factory_constructible.html" title="Factory-Constructible Tree Node">Factory-Constructible
-      Tree Node</a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.factory_constructible.description"></a><a class="link" href="factory_constructible.html#tree_node.concepts.factory_constructible.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          Models of this concept allow the <a class="link" href="../reference/factory.html" title="factory"><code class="computeroutput"><span class="identifier">factory</span></code></a> facade to create objects
-          of their instantiated types. In practice, models of this concept must either
-          declare their respective constructors in <code class="computeroutput"><span class="keyword">public</span></code>
-          scope or declare the <a class="link" href="../reference/factory.html" title="factory"><code class="computeroutput"><span class="identifier">factory</span></code></a> to be a <code class="computeroutput"><span class="keyword">friend</span> <span class="keyword">struct</span></code>.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.factory_constructible.refinement_of"></a><a class="link" href="factory_constructible.html#tree_node.concepts.factory_constructible.refinement_of" title="Refinement of">Refinement
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-          Node</strong></span></a>
-        </p>
-</div>
-<div class="variablelist">
-<p class="title"><b>Notation</b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
-<dd><p>
-              A type that models the <span class="bold"><strong>Factory-Constructible
-              Tree Node</strong></span> concept.
-            </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
-<dd><p>
-              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">*</span></code>.
-            </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">data</span></code></span></dt>
-<dd><p>
-              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-              <span class="keyword">const</span><span class="special">&</span></code>.
-            </p></dd>
-</dl>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.factory_constructible.types"></a><a class="link" href="factory_constructible.html#tree_node.concepts.factory_constructible.types" title="Associated Types">Associated
-        Types</a>
-</h4></div></div></div>
-<p>
-          No additional types beyond those defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.factory_constructible.expressions"></a><a class="link" href="factory_constructible.html#tree_node.concepts.factory_constructible.expressions" title="Valid Expressions and Semantics">Valid
-        Expressions and Semantics</a>
-</h4></div></div></div>
-<p>
-          In addition to the expressions defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, the following expressions
-          must be valid.
-        </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Return Type
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Semantics
-                  </p>
-                </th>
-<th>
-                  <p>
-                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
-                    Complexity</a>
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Heap-allocated default construction
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">new</span> <span class="identifier">Node</span><span class="special">()</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">*</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default-constructs a <code class="computeroutput"><span class="identifier">Node</span></code>
-                    object on the heap.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Constant
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Heap-allocated construction with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">new</span> <span class="identifier">Node</span><span class="special">(</span><span class="identifier">data</span><span class="special">)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">*</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Constructs a <code class="computeroutput"><span class="identifier">Node</span></code>
-                    object on the heap that stores the specified data.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Constant
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer conversion
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Converts the specified raw pointer. If <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
-                    is the same as <code class="computeroutput"><span class="identifier">Node</span><span class="special">*</span></code>, then the conversion is trivial;
-                    however, if the pointer type is a std::tr1::shared_ptr, then the
-                    conversion is necessary.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Constant
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.concepts.factory_constructible.models"></a><a class="link" href="factory_constructible.html#tree_node.concepts.factory_constructible.models" title="Models">Models</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/raw_binary_node.html" title="raw_binary_node"><code class="computeroutput"><span class="identifier">raw_binary_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/raw_node.html" title="raw_node"><code class="computeroutput"><span class="identifier">raw_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/simple_node.html" title="simple_node"><code class="computeroutput"><span class="identifier">simple_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/raw_associative_node.html" title="raw_associative_node"><code class="computeroutput"><span class="identifier">raw_associative_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/simple_associative_node.html" title="simple_associative_node"><code class="computeroutput"><span class="identifier">simple_associative_node</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/with_child_range_access.html" title="with_child_range_access"><code class="computeroutput"><span class="identifier">with_child_range_access</span></code></a>
-<span class="special">*</span> <a class="link" href="../reference/with_depth.html" title="with_depth"><code class="computeroutput"><span class="identifier">with_depth</span></code></a>
-</pre>
-</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 © 2011 Cromwell D. Enage<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="base_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="cloneable_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/full_tree_node_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/full_tree_node_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Full Tree Node Iterator</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="tree_node_iterator.html" title="Tree Node Iterator">
+<link rel="next" href="tree_node_desc_iterator.html" title="Tree Node Descendant Iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tree_node_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tree_node_desc_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.full_tree_node_iterator"></a><a class="link" href="full_tree_node_iterator.html" title="Full Tree Node Iterator">Full Tree
+      Node Iterator</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.full_tree_node_iterator.description"></a><a class="link" href="full_tree_node_iterator.html#tree_node.concepts.full_tree_node_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This concept specifies the requirement that models traverse the root node
+          as well as its descendants.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.full_tree_node_iterator.refinement_of"></a><a class="link" href="full_tree_node_iterator.html#tree_node.concepts.full_tree_node_iterator.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree
+          Node Iterator</strong></span></a>
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Iterator</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Full Tree Node Iterator</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">itr</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Iterator</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              The value type of <code class="computeroutput"><span class="identifier">Iterator</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.full_tree_node_iterator.types"></a><a class="link" href="full_tree_node_iterator.html#tree_node.concepts.full_tree_node_iterator.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the <a class="link" href="tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a> concept; however, the
+          requirements for the value type are strengthened: it must model the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a>
+          concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.full_tree_node_iterator.expressions"></a><a class="link" href="full_tree_node_iterator.html#tree_node.concepts.full_tree_node_iterator.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          None beyond those defined in the <a class="link" href="tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a> concept; however, the
+          type requirements for the constructors are strengthened, and their semantics
+          are clarified.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Type requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">Iterator</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span>
+<span class="identifier">Iterator</span> <span class="identifier">itr</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    Constructs an iterator that will iterate through the specified
+                    node and its descendants.
+                  </p>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.full_tree_node_iterator.models"></a><a class="link" href="full_tree_node_iterator.html#tree_node.concepts.full_tree_node_iterator.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/breadth_first_iterator.html" title="breadth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">breadth_first_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/pre_order_iterator.html" title="pre_order_iterator<Node>"><code class="computeroutput"><span class="identifier">pre_order_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/post_order_iterator.html" title="post_order_iterator<Node>"><code class="computeroutput"><span class="identifier">post_order_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/in_order_iterator.html" title="in_order_iterator<Node>"><code class="computeroutput"><span class="identifier">in_order_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/depth_first_iterator.html" title="depth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_iterator</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="tree_node_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tree_node_desc_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/nary_tree_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/nary_tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>N-ary Tree Node</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="binary_tree_node.html" title="Binary Tree Node">
+<link rel="next" href="type_generator.html" title="Type Generator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binary_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="type_generator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.nary_tree_node"></a><a class="link" href="nary_tree_node.html" title="N-ary Tree Node">N-ary Tree Node</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.nary_tree_node.description"></a><a class="link" href="nary_tree_node.html#tree_node.concepts.nary_tree_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Models of this concept store arbitrary numbers of children and provide
+          simple child insertion expressions.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.nary_tree_node.refinement_of"></a><a class="link" href="nary_tree_node.html#tree_node.concepts.nary_tree_node.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative
+          Tree Node</strong></span></a>
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>N-ary Tree Node</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">const_node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">data</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
+              <span class="keyword">const</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.nary_tree_node.types"></a><a class="link" href="nary_tree_node.html#tree_node.concepts.nary_tree_node.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.nary_tree_node.expressions"></a><a class="link" href="nary_tree_node.html#tree_node.concepts.nary_tree_node.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          In addition to the expressions defined in the <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> concept, the following
+          expressions must be valid.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Type requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_child</span><span class="special">(</span><span class="identifier">data</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be stored in the range of
+                    children of the invoking node. The node returned will store the
+                    specified data.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Logarithmic
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_child</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code> must model the Default Constructible concept.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a tree node to be stored in the range of
+                    children of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Logarithmic
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_node</span><span class="special">)</span></code>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Creates and returns a deep copy of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                    to be stored in the range of children of the invoking node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of descendants of <code class="computeroutput"><span class="identifier">const_node</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.nary_tree_node.models"></a><a class="link" href="nary_tree_node.html#tree_node.concepts.nary_tree_node.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="binary_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="type_generator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/non_assoc_tree_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/non_assoc_tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Non-Associative Tree Node</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="associative_tree_node.html" title="Associative Tree Node">
+<link rel="next" href="binary_tree_node.html" title="Binary Tree Node">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="associative_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="binary_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.non_assoc_tree_node"></a><a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node">Non-Associative
+      Tree Node</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.non_assoc_tree_node.description"></a><a class="link" href="non_assoc_tree_node.html#tree_node.concepts.non_assoc_tree_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Models of this concept provide access to their child nodes via iterator
+          dereferencing.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.non_assoc_tree_node.refinement_of"></a><a class="link" href="non_assoc_tree_node.html#tree_node.concepts.non_assoc_tree_node.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+          Node</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.non_assoc_tree_node.types"></a><a class="link" href="non_assoc_tree_node.html#tree_node.concepts.non_assoc_tree_node.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept; however, the requirements
+          for the child iterator types are strengthened:
+        </p>
+<pre class="programlisting"><span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">be</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">&</span><span class="error">`</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">The</span> <span class="identifier">value</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="error">`</span> <span class="identifier">must</span> <span class="identifier">be</span> <span class="error">`</span><span class="identifier">Node</span> <span class="keyword">const</span><span class="special">&</span><span class="error">`</span><span class="special">.</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.non_assoc_tree_node.expressions"></a><a class="link" href="non_assoc_tree_node.html#tree_node.concepts.non_assoc_tree_node.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          None beyond those defined in the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.non_assoc_tree_node.models"></a><a class="link" href="non_assoc_tree_node.html#tree_node.concepts.non_assoc_tree_node.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="associative_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="binary_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,567 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tree Node</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="../concepts.html" title="Concepts">
+<link rel="next" href="base_tree_node.html" title="Base Tree Node">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="base_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.tree_node"></a><a class="link" href="tree_node.html" title="Tree Node">Tree Node</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node.description"></a><a class="link" href="tree_node.html#tree_node.concepts.tree_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          All tree node implementations that this library provides model this concept:
+          a structure that maintains information about its data and its immediate
+          parent-child relationships. However, in practice, a full-fledged tree node
+          data structure or adaptor consists of three components: a <a class="link" href="base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> model that defines the functionality,
+          a <span class="bold"><strong>Tree Node</strong></span> model that inherits from the
+          base type and is better suited for external usage, and a <a class="link" href="type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> that returns the <a class="link" href="base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> model from which adaptor types
+          can also inherit.
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Tree Node</strong></span> concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">const_node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node.types"></a><a class="link" href="tree_node.html#tree_node.concepts.tree_node.types" title="Associated Types">Associated Types</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of the object stored in a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the Copy Constructible concept, but
+                    need not model the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a pointer to a <code class="computeroutput"><span class="identifier">Node</span></code>
+                    object.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the Trivial Iterator concept, it must
+                    point to a mutable object, and it must be implicitly convertible
+                    to <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a pointer to a <code class="computeroutput"><span class="identifier">Node</span>
+                    <span class="keyword">const</span></code> object.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the Trivial Iterator concept, and
+                    it must <span class="emphasis"><em>not</em></span> point to a mutable object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of iterator used to iterate through the children of
+                    a <code class="computeroutput"><span class="identifier">Node</span></code> object.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the Input Iterator concept, and it
+                    must be convertible to <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of iterator used to iterate through the children of
+                    a <code class="computeroutput"><span class="identifier">Node</span> <span class="keyword">const</span></code>
+                    object.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node.expressions"></a><a class="link" href="tree_node.html#tree_node.concepts.tree_node.expressions" title="Valid Expressions and Semantics">Valid Expressions
+        and Semantics</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">get_data</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the object stored in the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">get_data</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the object stored in the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">get_parent_ptr</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a pointer to the parent of the tree node, or a null pointer
+                    if the node is the root.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">get_parent_ptr</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a pointer to the parent of the tree node, or a null pointer
+                    if the node is the root.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">begin</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns an iterator pointing to the beginning of the range of
+                    children of the tree node. If the range is empty, then the iterator
+                    points past-the-end.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">begin</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns an iterator pointing to the beginning of the range of
+                    children of the tree node. If the range is empty, then the iterator
+                    points past-the-end.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">end</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns an iterator pointing past the end of the range of children
+                    of the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">end</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span><span class="special">::</span><span class="identifier">iterator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns an iterator pointing past the end of the range of children
+                    of the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">empty</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">bool</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="identifier">const_node</span><span class="special">-></span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span>
+                    <span class="identifier">const_node</span><span class="special">-></span><span class="identifier">end</span><span class="special">()</span></code>,
+                    but may be more efficient in certain cases.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of children
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">node</span><span class="special">-></span><span class="identifier">clear</span><span class="special">()</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Removes all children from the tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Linear with respect to the number of children and their descendants
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node.models"></a><a class="link" href="tree_node.html#tree_node.concepts.tree_node.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_position.html" title="with_position<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position_base</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="../concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="base_tree_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node_desc_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node_desc_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,169 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tree Node Descendant Iterator</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="full_tree_node_iterator.html" title="Full Tree Node Iterator">
+<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="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="full_tree_node_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.tree_node_desc_iterator"></a><a class="link" href="tree_node_desc_iterator.html" title="Tree Node Descendant Iterator">Tree Node
+      Descendant Iterator</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_desc_iterator.description"></a><a class="link" href="tree_node_desc_iterator.html#tree_node.concepts.tree_node_desc_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This concept may seem redundant at first, especially when iterating through
+          <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative
+          Tree Node</strong></span></a> objects; however, for <a class="link" href="associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> objects, models of
+          this concept provide the sole means of accessing the key associated with
+          each node being traversed. (Root nodes are not associated with keys at
+          the tree node level, so models of this concept do not traverse them.)
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_desc_iterator.refinement_of"></a><a class="link" href="tree_node_desc_iterator.html#tree_node.concepts.tree_node_desc_iterator.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree
+          Node Iterator</strong></span></a>
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Iterator</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Tree Node Descendant Iterator</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">itr</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Iterator</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A type that models the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_desc_iterator.types"></a><a class="link" href="tree_node_desc_iterator.html#tree_node.concepts.tree_node_desc_iterator.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the <a class="link" href="tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a> concept; however, the
+          requirements for the value type are strengthened: it must be the appropriate
+          iterator type of <code class="computeroutput"><span class="identifier">Node</span></code>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_desc_iterator.expressions"></a><a class="link" href="tree_node_desc_iterator.html#tree_node.concepts.tree_node_desc_iterator.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          None beyond those defined in the <a class="link" href="tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a> concept; however, the
+          type requirements for the constructors are strengthened, and their semantics
+          are clarified.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Type requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">Iterator</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span>
+<span class="identifier">Iterator</span> <span class="identifier">itr</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    Constructs an iterator that will iterate through the descendants
+                    of the specified node.
+                  </p>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_desc_iterator.models"></a><a class="link" href="tree_node_desc_iterator.html#tree_node.concepts.tree_node_desc_iterator.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/breadth_first_desc_iter.html" title="breadth_first_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/pre_order_desc_iter.html" title="pre_order_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/post_order_desc_iter.html" title="post_order_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/depth_first_desc_iter.html" title="depth_first_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="full_tree_node_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/tree_node_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,240 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tree Node Iterator</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="type_generator.html" title="Type Generator">
+<link rel="next" href="full_tree_node_iterator.html" title="Full Tree Node Iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type_generator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="full_tree_node_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.tree_node_iterator"></a><a class="link" href="tree_node_iterator.html" title="Tree Node Iterator">Tree Node Iterator</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_iterator.description"></a><a class="link" href="tree_node_iterator.html#tree_node.concepts.tree_node_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Tree-traversing iterators at the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> level must be created differently
+          from iterators at the Container level. Furthermore, tree node
+          iterators typically store more stateful information than their Container counterparts; requiring two of
+          them to check for dereferenceability may prove somewhat memory-inefficient.
+          This concept provides an alternate means of checking for dereferenceability
+          that requires the use of only the active iterator.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_iterator.refinement_of"></a><a class="link" href="tree_node_iterator.html#tree_node.concepts.tree_node_iterator.refinement_of" title="Refinement of">Refinement
+        of</a>
+</h4></div></div></div>
+<p>
+          Forward Iterator
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Iterator</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Tree Node Iterator</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">itr</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Iterator</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Node</span></code></span></dt>
+<dd><p>
+              A type that models the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">node</span></code></span></dt>
+<dd><p>
+              An object of type <code class="computeroutput"><span class="identifier">Node</span><span class="special">&</span></code>.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_iterator.types"></a><a class="link" href="tree_node_iterator.html#tree_node.concepts.tree_node_iterator.types" title="Associated Types">Associated
+        Types</a>
+</h4></div></div></div>
+<p>
+          No additional types beyond those defined in the Forward Iterator concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_iterator.expressions"></a><a class="link" href="tree_node_iterator.html#tree_node.concepts.tree_node_iterator.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<p>
+          In addition to the expressions defined in the Forward Iterator concept, the following
+          expressions must be valid.
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Semantics
+                  </p>
+                </th>
+<th>
+                  <p>
+                    <a href="http://en.wikipedia.org/wiki/Amortized_analysis" target="_top">Runtime
+                    Complexity</a>
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">Iterator</span><span class="special">()</span>
+<span class="identifier">Iterator</span> <span class="identifier">itr</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    Constructs a non-dereferenceable (past-the-end) iterator.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">Iterator</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span>
+<span class="identifier">Iterator</span> <span class="identifier">itr</span><span class="special">(</span><span class="identifier">node</span><span class="special">)</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    Refinement-specific.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Amortized constant
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereferenceability
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">itr</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    A type that can be used in a boolean context.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns a value convertible to <code class="computeroutput"><span class="keyword">true</span></code>
+                    if <code class="computeroutput"><span class="identifier">itr</span></code> is dereferenceable,
+                    a value convertible to <code class="computeroutput"><span class="keyword">false</span></code>
+                    if it is past-the-end.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constant
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+          The Forward Iterator requirement that the increment
+          operators must exhibit constant time complexity has been relaxed; they
+          now need only exhibit linear time complexity with respect to the number
+          of descendants in the worst case.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.tree_node_iterator.models"></a><a class="link" href="tree_node_iterator.html#tree_node.concepts.tree_node_iterator.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <span class="identifier">All</span> <span class="identifier">models</span> <span class="identifier">of</span> <span class="identifier">the</span> <a class="link" href="full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a> <span class="identifier">concept</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">All</span> <span class="identifier">models</span> <span class="identifier">of</span> <span class="identifier">the</span> <a class="link" href="tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a> <span class="identifier">concept</span><span class="special">.</span>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="type_generator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="full_tree_node_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/type_generator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/concepts/type_generator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,150 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Type Generator</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="nary_tree_node.html" title="N-ary Tree Node">
+<link rel="next" href="tree_node_iterator.html" title="Tree Node Iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nary_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tree_node_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.concepts.type_generator"></a><a class="link" href="type_generator.html" title="Type Generator">Type Generator</a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.type_generator.description"></a><a class="link" href="type_generator.html#tree_node.concepts.type_generator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          A <span class="bold"><strong>Type Generator</strong></span> is a Metafunction Class that returns a <a class="link" href="base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+          Tree Node</strong></span></a> from which <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor types can inherit the necessary
+          functionality.
+        </p>
+</div>
+<div class="variablelist">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Generator</span></code></span></dt>
+<dd><p>
+              A type that models the <span class="bold"><strong>Type Generator</strong></span>
+              concept.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Derived</span></code></span></dt>
+<dd><p>
+              The most descendant type that will inherit from the return type of
+              <code class="computeroutput"><span class="identifier">Generator</span></code>.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Key</span></code></span></dt>
+<dd><p>
+              The key type of the <a class="link" href="associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> to be returned.
+            </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Data</span></code></span></dt>
+<dd><p>
+              The data type of the <a class="link" href="tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> to be returned.
+            </p></dd>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.type_generator.expressions"></a><a class="link" href="type_generator.html#tree_node.concepts.type_generator.expressions" title="Valid Expressions and Semantics">Valid
+        Expressions and Semantics</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Return Type
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Non-associative invocation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">boost::mpl::apply_wrap2<Generator,Derived,Data>::type</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    A <a class="link" href="non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> model
+                    whose <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
+                    is the same as <code class="computeroutput"><span class="identifier">Data</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Associative invocation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">boost::mpl::apply_wrap3<Generator,Derived,Key,Data>::type</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    An <a class="link" href="associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> model whose
+                    <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span></code> is the same as <code class="computeroutput"><span class="identifier">Key</span></code> and whose <code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code> is the same as <code class="computeroutput"><span class="identifier">Data</span></code>.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.concepts.type_generator.models"></a><a class="link" href="type_generator.html#tree_node.concepts.type_generator.models" title="Models">Models</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../reference/binary_node_gen.html" title="binary_node_gen"><code class="computeroutput"><span class="identifier">binary_node_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/nary_node_gen.html" title="nary_node_gen<Selector>"><code class="computeroutput"><span class="identifier">nary_node_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/associative_node_gen.html" title="associative_node_gen<Selector>"><code class="computeroutput"><span class="identifier">associative_node_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_depth_gen.html" title="with_depth_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_depth_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_position_gen.html" title="with_position_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_position_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="../reference/with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_gen</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="nary_tree_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tree_node_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,105 @@
+<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.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="prev" href="concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator">
+<link rel="next" href="reference/binary_node.html" title="binary_node<T>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts/tree_node_desc_iterator.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference/binary_node.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="tree_node.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+</h2></div></div></div>
+<a name="tree_node.reference.data_structures"></a><h4>
+<a name="idp22354400"></a>
+      <a class="link" href="reference.html#tree_node.reference.data_structures">Data Structures</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a>
+</pre>
+<a name="tree_node.reference.adaptor_types"></a><h4>
+<a name="idp22363584"></a>
+      <a class="link" href="reference.html#tree_node.reference.adaptor_types">Adaptor Types</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_position.html" title="with_position<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag</span></code></a>
+</pre>
+<a name="tree_node.reference.base_types"></a><h4>
+<a name="idp22372752"></a>
+      <a class="link" href="reference.html#tree_node.reference.base_types">Base Types</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth_base</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position_base</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code></a>
+</pre>
+<a name="tree_node.reference.type_generators"></a><h4>
+<a name="idp22390752"></a>
+      <a class="link" href="reference.html#tree_node.reference.type_generators">Type Generators</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/binary_node_gen.html" title="binary_node_gen"><code class="computeroutput"><span class="identifier">binary_node_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/nary_node_gen.html" title="nary_node_gen<Selector>"><code class="computeroutput"><span class="identifier">nary_node_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/associative_node_gen.html" title="associative_node_gen<Selector>"><code class="computeroutput"><span class="identifier">associative_node_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_depth_gen.html" title="with_depth_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_depth_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_position_gen.html" title="with_position_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_position_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_gen</span></code></a>
+</pre>
+<a name="tree_node.reference.iterator_types"></a><h4>
+<a name="idp22406592"></a>
+      <a class="link" href="reference.html#tree_node.reference.iterator_types">Iterator Types</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/breadth_first_iterator.html" title="breadth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">breadth_first_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/breadth_first_desc_iter.html" title="breadth_first_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/pre_order_iterator.html" title="pre_order_iterator<Node>"><code class="computeroutput"><span class="identifier">pre_order_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/pre_order_desc_iter.html" title="pre_order_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/post_order_iterator.html" title="post_order_iterator<Node>"><code class="computeroutput"><span class="identifier">post_order_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/post_order_desc_iter.html" title="post_order_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/in_order_iterator.html" title="in_order_iterator<Node>"><code class="computeroutput"><span class="identifier">in_order_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/depth_first_iterator.html" title="depth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_iterator</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/depth_first_desc_iter.html" title="depth_first_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span></code></a>
+</pre>
+<a name="tree_node.reference.enum_types"></a><h4>
+<a name="idp22428976"></a>
+      <a class="link" href="reference.html#tree_node.reference.enum_types">Enum Types</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/traversal_state.html" title="traversal_state"><code class="computeroutput"><span class="identifier">traversal_state</span></code></a>
+</pre>
+<a name="tree_node.reference.functions"></a><h4>
+<a name="idp22433904"></a>
+      <a class="link" href="reference.html#tree_node.reference.functions">Functions</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/dereference_iterator.html" title="dereference_iterator()"><code class="computeroutput"><span class="identifier">dereference_iterator</span><span class="special">()</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/equal.html" title="equal()"><code class="computeroutput"><span class="identifier">equal</span><span class="special">()</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/strictly_equal.html" title="strictly_equal()"><code class="computeroutput"><span class="identifier">strictly_equal</span><span class="special">()</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/lexicographical_compare.html" title="lexicographical_compare()"><code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">()</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/strict_lexicograph_comp.html" title="lexicographical_compare()"><code class="computeroutput"><span class="identifier">strict_lexicographical_compare</span><span class="special">()</span></code></a>
+</pre>
+</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 © 2011 -2012 Cromwell D. Enage<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="concepts/tree_node_desc_iterator.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference/binary_node.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,919 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>associative_node<Key,Data,AssociativeContainerSelector></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="nary_node_gen.html" title="nary_node_gen<Selector>">
+<link rel="next" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nary_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.associative_node"></a><a class="link" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">AssociativeContainerSelector</span><span class="special">></span></code> </a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.description"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This class template is suitable for classes or algorithms that need to
+          map keys to child nodes in a tree node data structure. Objects of this
+          type can be stored by value, and their children can be accessed by their
+          associated keys for fast lookup.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This component depends on Boost.Utility.ContainerGen, which is not
+            yet a part of Boost. For now, you must perform a Subversion checkout
+            from the SVN Trac.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.definition"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/associative_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.tpl_param"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Key</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a key object to be associated with a child of a
+                    <code class="computeroutput"><span class="identifier">associative_node</span></code>.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Data</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">associative_node</span></code>.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">AssociativeContainerSelector</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type that determines the internal map types whose mapped
+                    types are the same as the pointer type.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must be a type for which associative_container_gen
+                    returns a recursive, move-aware container.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">boost_mapS</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.model_of"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Assignable
+<span class="special">*</span> Movable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.public_bases"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">associative_node_base</span><span class="special"><</span>
+    <span class="identifier">associative_node</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">AssociativeContainerSelector</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Key</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+  <span class="special">,</span> <span class="identifier">AssociativeContainerSelector</span>
+<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.members"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.members" title="Public Members">Public
+        Members</a>
+</h4></div></div></div>
+<p>
+          Given:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">associative_node_base</span><span class="special"><</span>
+            <span class="identifier">associative_node</span>
+          <span class="special">,</span> <span class="identifier">Key</span>
+          <span class="special">,</span> <span class="identifier">Data</span>
+          <span class="special">,</span> <span class="identifier">AssociativeContainerSelector</span>
+        <span class="special">></span>
+        <span class="identifier">super_t</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Key type, data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span>
+        <span class="identifier">traits</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span>
+        <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span>
+        <span class="identifier">const_pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">iterator</span>
+        <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_iterator</span>
+        <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">associative_node</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">associative_node</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node</span><span class="special">(</span><span class="identifier">associative_node</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node</span><span class="special">(</span><span class="identifier">associative_node</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">associative_node</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">associative_node</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span>
+    <span class="identifier">add_child</span><span class="special">(</span>
+        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
+    <span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span>
+    <span class="identifier">add_child_copy</span><span class="special">(</span>
+        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
+      <span class="special">,</span> <span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span>
+    <span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span>
+    <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search range
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">></span>
+    <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search range
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">iterator</span><span class="special">,</span><span class="identifier">iterator</span><span class="special">></span>
+    <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.non_members"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from <a class="link" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node.example"></a><a class="link" href="associative_node.html#tree_node.reference.associative_node.example" title="Example">Example</a>
+</h4></div></div></div>
+<p>
+          <example/associative_node.cpp>
+        </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 © 2011 -2012 Cromwell D. Enage<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="nary_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,1183 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>associative_node_base<Derived,Key,Data,AssociativeContainerSelector></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>">
+<link rel="next" href="associative_node_gen.html" title="associative_node_gen<Selector>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="associative_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.associative_node_base"></a><a class="link" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">AssociativeContainerSelector</span><span class="special">></span></code> </a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.description"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <a class="link" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a> class template
+          inherits its functionality from this class template. They differ only with
+          regard to template parameters: the <a class="link" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a> class template
+          is meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">raw_associative_node_base</span></code>
+          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
+          via the <a class="link" href="associative_node_gen.html" title="associative_node_gen<Selector>"><code class="computeroutput"><span class="identifier">associative_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This component depends on Boost.Utility.ContainerGen, which is not
+            yet a part of Boost. For now, you must perform a Subversion checkout
+            from the SVN Trac.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.definition"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/associative_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.tpl_param"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Key</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Data</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">AssociativeContainerSelector</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type that determines the internal map types whose mapped
+                    types are the same as the pointer type.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must be a type for which associative_container_gen
+                    returns a recursive, move-aware container.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.model_of"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Assignable
+<span class="special">*</span> Movable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.public_bases"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.members"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.members" title="Public Members">Public
+        Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Key type, data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">traits</span>
+<span class="special">{</span>
+    <span class="keyword">typedef</span> <span class="identifier">Key</span> <span class="identifier">key_type</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">Data</span> <span class="identifier">data_type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
+        <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
+        <span class="identifier">const_pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="comment">// implementation_defined
+</span>        <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="comment">// implementation_defined
+</span>        <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">associative_node_base</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">associative_node_base</span><span class="special">(</span>
+    <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">associative_node_base</span><span class="special">(</span><span class="identifier">associative_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node_base</span><span class="special">(</span><span class="identifier">associative_node_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">associative_node_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">associative_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">associative_node_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span>
+    <span class="identifier">add_child</span><span class="special">(</span>
+        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
+    <span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span>
+    <span class="identifier">add_child_copy</span><span class="special">(</span>
+        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
+      <span class="special">,</span> <span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span>
+    <span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span>
+    <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search range
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">></span>
+    <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child search range
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">iterator</span><span class="special">,</span><span class="identifier">iterator</span><span class="special">></span>
+    <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_base.non_members"></a><a class="link" href="associative_node_base.html#tree_node.reference.associative_node_base.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">K1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">,</span><span class="identifier">A1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">K2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">,</span><span class="identifier">A2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Performs in-order comparison of the data of each of the specified
+                    nodes, their descendants, and any associated keys, then compares
+                    the nodes for structural equality. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                    if and only if the nodes are lexicographically and structurally
+                    equal, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">K1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">,</span><span class="identifier">A1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">K2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">,</span><span class="identifier">A2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special">==</span>
+                    <span class="identifier">lhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Less
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special"><(</span>
+            <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">K1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">,</span><span class="identifier">A1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">K2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">,</span><span class="identifier">A2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Performs in-order comparison of the data of each of the specified
+                    nodes, their descendants, and any associated keys, then compares
+                    the nodes for structural equality. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                    if and only if the first node is lexicographically less than
+                    the second one, or if both nodes are lexicographically equal
+                    but the first one is skewed further to the left than the second
+                    one, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Greater
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">>(</span>
+            <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">K1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">,</span><span class="identifier">A1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">K2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">,</span><span class="identifier">A2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="identifier">rhs</span> <span class="special"><</span> <span class="identifier">lhs</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Less or equal
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special"><=(</span>
+            <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">K1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">,</span><span class="identifier">A1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">K2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">,</span><span class="identifier">A2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special"><</span>
+                    <span class="identifier">lhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Greater or equal
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">K2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">>=(</span>
+            <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">K1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">,</span><span class="identifier">A1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">K2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">,</span><span class="identifier">A2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special"><</span>
+                    <span class="identifier">rhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="associative_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node_gen.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/associative_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,194 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>associative_node_gen<Selector></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>">
+<link rel="next" href="with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="associative_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.associative_node_gen"></a><a class="link" href="associative_node_gen.html" title="associative_node_gen<Selector>"><code class="computeroutput"><span class="identifier">associative_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.synopsis"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">boost_mapS</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">associative_node_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="keyword">typedef</span> <span class="identifier">associative_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+        <span class="special">};</span>
+    <span class="special">};</span>
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.description"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This component depends on Boost.Utility.ContainerGen, which is not
+            yet a part of Boost. For now, you must perform a Subversion checkout
+            from the SVN Trac.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.definition"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/associative_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.model_of"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.tpl_param"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Selector</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type that determines the internal container types of <a class="link" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must be a type for which associative_container_gen
+                    returns a recursive, move-aware container.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">boost_mapS</span></code>
+                  </p>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.expressions"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.expressions" title="Expression Semantics">Expression
+        Semantics</a>
+</h4></div></div></div>
+<p>
+          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
+          that will inherit from <a class="link" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">Key</span></code> be the key type. Let <code class="computeroutput"><span class="identifier">Data</span></code> be the data type. Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid <code class="computeroutput"><span class="identifier">associative_node_gen</span></code>
+          template argument.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
+    <span class="identifier">associative_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Key</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="associative_node_base.html" title="associative_node_base<Derived,Key,Data,AssociativeContainerSelector>">associative_node_base</a><Derived,Key,Data,Selector></code>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.associative_node_gen.complexity"></a><a class="link" href="associative_node_gen.html#tree_node.reference.associative_node_gen.complexity" title="Complexity">Complexity</a>
+</h4></div></div></div>
+<p>
+          Compile time.
+        </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 © 2011 -2012 Cromwell D. Enage<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="associative_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,961 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>binary_node<T></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="binary_node_base.html" title="binary_node_base<Derived,T>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="binary_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.binary_node"></a><a class="link" href="binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.description"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This class template is suitable for classes or algorithms that require
+          a binary tree node data structure. Objects of this type can be stored by
+          value.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.definition"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.definition" title="Where defined">Where defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/binary_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.tpl_param"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">binary_node</span></code>.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.model_of"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.model_of" title="Model of">Model of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
+<span class="special">*</span> Movable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.public_bases"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">binary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span><span class="identifier">T</span><span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.members"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.members" title="Public Members">Public Members</a>
+</h4></div></div></div>
+<p>
+          Given:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">binary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">super_t</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span> <span class="identifier">traits</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span> <span class="identifier">const_pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">binary_node</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">binary_node</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node</span><span class="special">(</span><span class="identifier">binary_node</span> <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node</span><span class="special">(</span><span class="identifier">binary_node</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node</span><span class="special">&</span>
+                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">binary_node</span> <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node</span><span class="special">&</span>
+                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">binary_node</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_left_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_left_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_left_child_copy</span><span class="special">(</span><span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_right_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_right_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_right_child_copy</span><span class="special">(</span><span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_left_child_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_left_child_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_right_child_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_right_child_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Rotate left
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">rotate_left</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Rotate right
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">rotate_right</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove left child
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">remove_left_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove right child
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">remove_right_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.non_members"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from <a class="link" href="binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node.example"></a><a class="link" href="binary_node.html#tree_node.reference.binary_node.example" title="Example">Example</a>
+</h4></div></div></div>
+<p>
+          <example/binary_node.cpp>
+        </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 © 2011 -2012 Cromwell D. Enage<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="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="binary_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,1194 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>binary_node_base<Derived,T></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="binary_node.html" title="binary_node<T>">
+<link rel="next" href="binary_node_gen.html" title="binary_node_gen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binary_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="binary_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.binary_node_base"></a><a class="link" href="binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.description"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <a class="link" href="binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a>
+          class template inherits its functionality from this class template. They
+          differ only with regard to template parameters: the <a class="link" href="binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a> class template is
+          meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">binary_node_base</span></code>
+          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
+          via the <a class="link" href="binary_node_gen.html" title="binary_node_gen"><code class="computeroutput"><span class="identifier">binary_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.definition"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/binary_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.tpl_param"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.model_of"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
+<span class="special">*</span> Movable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.public_bases"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.members"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.members" title="Public Members">Public
+        Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">traits</span>
+<span class="special">{</span>
+    <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">data_type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
+        <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
+        <span class="identifier">const_pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="comment">// implementation_defined
+</span>        <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="comment">// implementation_defined
+</span>        <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">binary_node_base</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">binary_node_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">binary_node_base</span><span class="special">(</span><span class="identifier">binary_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node_base</span><span class="special">(</span><span class="identifier">binary_node_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">binary_node_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">binary_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">binary_node_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_left_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_left_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_left_child_copy</span><span class="special">(</span><span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_right_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_right_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_right_child_copy</span><span class="special">(</span><span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_left_child_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Left child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_left_child_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_right_child_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Right child access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_right_child_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Rotate left
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">rotate_left</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Rotate right
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">rotate_right</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove left child
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">remove_left_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove right child
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">remove_right_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_base.non_members"></a><a class="link" href="binary_node_base.html#tree_node.reference.binary_node_base.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Performs in-order comparison of the data of each of the specified
+                    nodes and their descendants, then compares the nodes for structural
+                    equality. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                    if and only if the nodes are lexicographically and structurally
+                    equal, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special">==</span>
+                    <span class="identifier">lhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Less
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special"><(</span>
+            <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Performs in-order comparison of the data of each of the specified
+                    nodes and their descendants, then compares the nodes for structural
+                    inequality. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                    if and only if the first node is lexicographically less than
+                    the second one, or if both nodes are lexicographically equal
+                    but the first one is skewed further to the left than the second
+                    one, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Greater
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">>(</span>
+            <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="identifier">rhs</span> <span class="special"><</span> <span class="identifier">lhs</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Less or equal
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special"><=(</span>
+            <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special"><</span>
+                    <span class="identifier">lhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Greater or equal
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">>=(</span>
+            <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special"><</span>
+                    <span class="identifier">rhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="binary_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="binary_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node_gen.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/binary_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>binary_node_gen</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="binary_node_base.html" title="binary_node_base<Derived,T>">
+<link rel="next" href="nary_node.html" title="nary_node<T,Selector>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binary_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.binary_node_gen"></a><a class="link" href="binary_node_gen.html" title="binary_node_gen"><code class="computeroutput"><span class="identifier">binary_node_gen</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_gen.synopsis"></a><a class="link" href="binary_node_gen.html#tree_node.reference.binary_node_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">struct</span> <span class="identifier">binary_node_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="keyword">typedef</span> <span class="identifier">binary_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+        <span class="special">};</span>
+    <span class="special">};</span>
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_gen.description"></a><a class="link" href="binary_node_gen.html#tree_node.reference.binary_node_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_gen.definition"></a><a class="link" href="binary_node_gen.html#tree_node.reference.binary_node_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/binary_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_gen.model_of"></a><a class="link" href="binary_node_gen.html#tree_node.reference.binary_node_gen.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_gen.expressions"></a><a class="link" href="binary_node_gen.html#tree_node.reference.binary_node_gen.expressions" title="Expression Semantics">Expression
+        Semantics</a>
+</h4></div></div></div>
+<p>
+          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
+          that will inherit from <a class="link" href="binary_node_base.html" title="binary_node_base<Derived,T>"><code class="computeroutput"><span class="identifier">binary_node_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">T</span></code> be the data type.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span><span class="identifier">binary_node_gen</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="binary_node_base.html" title="binary_node_base<Derived,T>">binary_node_base</a><Derived,T></code>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.binary_node_gen.complexity"></a><a class="link" href="binary_node_gen.html#tree_node.reference.binary_node_gen.complexity" title="Complexity">Complexity</a>
+</h4></div></div></div>
+<p>
+          Compile time.
+        </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 © 2011 -2012 Cromwell D. Enage<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="binary_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/breadth_first_desc_iter.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/breadth_first_desc_iter.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,648 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>breadth_first_descendant_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="breadth_first_iterator.html" title="breadth_first_iterator<Node>">
+<link rel="next" href="pre_order_iterator.html" title="pre_order_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="breadth_first_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="pre_order_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter"></a><a class="link" href="breadth_first_desc_iter.html" title="breadth_first_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.synopsis"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">breadth_first_descendant_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="comment">//, typename Node::iterator or typename Node::const_iterator
+</span>          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">breadth_first_descendant_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">breadth_first_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">breadth_first_descendant_iterator</span><span class="special">(</span>
+            <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.description"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the descendants of the specified root node in breadth-first
+          fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">C</span> <span class="identifier">B</span> <span class="identifier">D</span> <span class="identifier">E</span> <span class="identifier">F</span> <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.definition"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/breadth_first_desc_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.tpl_param"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.model_of"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.public_bases"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.members"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Difference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">breadth_first_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">breadth_first_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">breadth_first_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">breadth_first_descendant_iterator</span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">breadth_first_descendant_iterator</span><span class="special">&</span>
+    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">breadth_first_descendant_iterator</span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_desc_iter.non_members"></a><a class="link" href="breadth_first_desc_iter.html#tree_node.reference.breadth_first_desc_iter.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="identifier">make_breadth_first_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">breadth_first_descendant_iterator</span></code>
+                    that will iterate through the descendants of the specified node.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">breadth_first_iterate_descendants</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the descendants of the specified node in breadth-first
+                    fashion, passing each element dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">breadth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="breadth_first_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="pre_order_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/breadth_first_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/breadth_first_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,636 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>breadth_first_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="tree_node_base.html" title="tree_node_base<Derived>">
+<link rel="next" href="breadth_first_desc_iter.html" title="breadth_first_descendant_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tree_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="breadth_first_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.breadth_first_iterator"></a><a class="link" href="breadth_first_iterator.html" title="breadth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.synopsis"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">breadth_first_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+          <span class="special">,</span> <span class="identifier">Node</span><span class="special">*</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">breadth_first_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">breadth_first_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">breadth_first_iterator</span><span class="special">(</span>
+            <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.description"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the specified root node and all its descendants
+          in breadth-first fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">A</span> <span class="identifier">C</span> <span class="identifier">B</span> <span class="identifier">D</span> <span class="identifier">E</span> <span class="identifier">F</span> <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.definition"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/breadth_first_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.tpl_param"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.model_of"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.public_bases"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.members"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Difference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">breadth_first_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">breadth_first_iterator</span><span class="special">(</span><span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span><span class="special">(</span><span class="identifier">breadth_first_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">breadth_first_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">breadth_first_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.breadth_first_iterator.non_members"></a><a class="link" href="breadth_first_iterator.html#tree_node.reference.breadth_first_iterator.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span> <span class="identifier">make_breadth_first_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">breadth_first_iterator</span></code>
+                    that will iterate through the specified node and its descendants.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">breadth_first_iterate</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the specified node and its descendants in breadth-first
+                    fashion, passing each node pointer dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">breadth_first_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="tree_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="breadth_first_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/depth_first_desc_iter.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/depth_first_desc_iter.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,676 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>depth_first_descendant_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="depth_first_iterator.html" title="depth_first_iterator<Node>">
+<link rel="next" href="traversal_state.html" title="traversal_state">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="depth_first_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="traversal_state.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.depth_first_desc_iter"></a><a class="link" href="depth_first_desc_iter.html" title="depth_first_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.synopsis"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">depth_first_descendant_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="comment">//, typename Node::iterator or typename Node::const_iterator
+</span>          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">depth_first_descendant_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">depth_first_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">depth_first_descendant_iterator</span><span class="special">(</span>
+            <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.description"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the specified root node and all its descendants
+          in depth-first fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">C</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">D</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">D</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">E</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">E</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">C</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">B</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">F</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">F</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">G</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">G</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">B</span>  <span class="identifier">post_order_traversal</span>
+</pre>
+<p>
+        </p>
+<p>
+          The traversal state conversion operator of this iterator will yield each
+          value in the column on the right at the appropriate iteration.
+        </p>
+<p>
+          This iterator is ideal for algorithms that need to perform both preprocessing
+          and postprocessing of a tree node, e.g. the copy constructors of the <a class="link" href="binary_node.html" title="binary_node<T>"><code class="computeroutput"><span class="identifier">binary_node</span></code></a>,
+          <a class="link" href="nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>,
+          and <a class="link" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a> implementations.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.definition"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/depth_first_desc_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.tpl_param"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.model_of"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.public_bases"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.members"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">depth_first_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs a <code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span></code>
+                    object that will point to the same element that the specified
+                    iterator points to.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">depth_first_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">depth_first_descendant_iterator</span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">depth_first_descendant_iterator</span><span class="special">&</span>
+    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">depth_first_descendant_iterator</span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="identifier">pre_order_traversal</span></code>
+                    if this iterator has not yet examined the children of the current
+                    node, <code class="computeroutput"><span class="identifier">post_order_traversal</span></code>
+                    if this iterator has examined all of the children of the current
+                    node, or <code class="computeroutput"><span class="identifier">no_traversal</span></code>
+                    if this iterator is not dereferenceable.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_desc_iter.non_members"></a><a class="link" href="depth_first_desc_iter.html#tree_node.reference.depth_first_desc_iter.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="identifier">make_depth_first_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">depth_first_descendant_iterator</span></code>
+                    that will iterate through the descendants of the specified node.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BinaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">depth_first_iterate_descendants</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">BinaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the descendants of the specified node in depth-first
+                    fashion, passing each element dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">depth_first_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="depth_first_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="traversal_state.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/depth_first_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/depth_first_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,666 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>depth_first_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="in_order_iterator.html" title="in_order_iterator<Node>">
+<link rel="next" href="depth_first_desc_iter.html" title="depth_first_descendant_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="in_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="depth_first_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.depth_first_iterator"></a><a class="link" href="depth_first_iterator.html" title="depth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.synopsis"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">depth_first_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+          <span class="special">,</span> <span class="identifier">Node</span><span class="special">*</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">depth_first_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">depth_first_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">depth_first_iterator</span><span class="special">(</span>
+            <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.description"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the specified root node and all its descendants
+          in depth-first fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">A</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">C</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">D</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">D</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">E</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">E</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">C</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">B</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">F</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">F</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">G</span>  <span class="identifier">pre_order_traversal</span>
+<span class="identifier">G</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">B</span>  <span class="identifier">post_order_traversal</span>
+<span class="identifier">A</span>  <span class="identifier">post_order_traversal</span>
+</pre>
+<p>
+        </p>
+<p>
+          The traversal state conversion operator of this iterator will yield each
+          value in the column on the right at the appropriate iteration.
+        </p>
+<p>
+          This iterator is ideal for algorithms that need to perform both preprocessing
+          and postprocessing of a tree node, e.g. the copy constructors of the <a class="link" href="nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>
+          and <a class="link" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>"><code class="computeroutput"><span class="identifier">associative_node</span></code></a> implementations.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.definition"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/depth_first_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.tpl_param"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.model_of"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.public_bases"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.members"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">depth_first_iterator</span><span class="special">(</span><span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs a <code class="computeroutput"><span class="identifier">depth_first_iterator</span></code>
+                    object that will point to the same element that the specified
+                    iterator points to.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_iterator</span><span class="special">(</span><span class="identifier">depth_first_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">depth_first_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">depth_first_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined in the Forward Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="identifier">pre_order_traversal</span></code>
+                    if this iterator has not yet examined the children of the current
+                    node, <code class="computeroutput"><span class="identifier">post_order_traversal</span></code>
+                    if this iterator has examined all of the children of the current
+                    node, or <code class="computeroutput"><span class="identifier">no_traversal</span></code>
+                    if this iterator is not dereferenceable.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.depth_first_iterator.non_members"></a><a class="link" href="depth_first_iterator.html#tree_node.reference.depth_first_iterator.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span> <span class="identifier">make_depth_first_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">depth_first_iterator</span></code>
+                    that will iterate through the specified node and its descendants.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BinaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">depth_first_iterate</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">BinaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+    <span class="comment">//->
+</span><span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the specified node and its descendants in depth-first
+                    fashion, passing each node pointer dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">depth_first_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="in_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="depth_first_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/dereference_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/dereference_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>dereference_iterator()</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="traversal_state.html" title="traversal_state">
+<link rel="next" href="equal.html" title="equal()">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="traversal_state.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="equal.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.dereference_iterator"></a><a class="link" href="dereference_iterator.html" title="dereference_iterator()"><code class="computeroutput"><span class="identifier">dereference_iterator</span><span class="special">()</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.dereference_iterator.synopsis"></a><a class="link" href="dereference_iterator.html#tree_node.reference.dereference_iterator.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
+    <span class="identifier">implementation_defined</span> <span class="identifier">dereference_iterator</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">itr</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.dereference_iterator.description"></a><a class="link" href="dereference_iterator.html#tree_node.reference.dereference_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.dereference_iterator.definition"></a><a class="link" href="dereference_iterator.html#tree_node.reference.dereference_iterator.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/algorithm/dereference_iterator.hpp<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 © 2011 -2012 Cromwell D. Enage<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="traversal_state.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="equal.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/equal.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/equal.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>equal()</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="dereference_iterator.html" title="dereference_iterator()">
+<link rel="next" href="strictly_equal.html" title="strictly_equal()">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dereference_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="strictly_equal.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.equal"></a><a class="link" href="equal.html" title="equal()"><code class="computeroutput"><span class="identifier">equal</span><span class="special">()</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.equal.synopsis"></a><a class="link" href="equal.html#tree_node.reference.equal.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Iterator1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">KeyCompare</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueCompare</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="identifier">equal</span><span class="special">(</span>
+            <span class="identifier">Iterator1</span> <span class="identifier">itr1</span>
+          <span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span>
+          <span class="special">,</span> <span class="identifier">KeyCompare</span> <span class="identifier">key_comp</span>
+          <span class="special">,</span> <span class="identifier">ValueCompare</span> <span class="identifier">value_comp</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BinaryPredicate</span><span class="special">></span>
+    <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">Iterator1</span> <span class="identifier">itr1</span><span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">comp</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">></span>
+    <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">Iterator1</span> <span class="identifier">itr1</span><span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.equal.description"></a><a class="link" href="equal.html#tree_node.reference.equal.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.equal.definition"></a><a class="link" href="equal.html#tree_node.reference.equal.definition" title="Where defined">Where defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/algorithm/equal.hpp<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 © 2011 -2012 Cromwell D. Enage<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="dereference_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="strictly_equal.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/factory.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/factory.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,207 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>factory</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="in_order_iterator.html" title="in_order_iterator">
-<link rel="next" href="traversal_state.html" title="traversal_state">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="in_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="traversal_state.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.factory"></a><a class="link" href="factory.html" title="factory"><code class="computeroutput"><span class="identifier">factory</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.factory.synopsis"></a><a class="link" href="factory.html#tree_node.reference.factory.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">factory</span>
-    <span class="special">{</span>
-        <span class="keyword">static</span> <span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">();</span>
-
-        <span class="keyword">static</span> <span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">::</span><span class="identifier">pointer</span>
-            <span class="identifier">create</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.factory.description"></a><a class="link" href="factory.html#tree_node.reference.factory.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This facade type provides a uniform interface for creating <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> objects.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.factory.definition"></a><a class="link" href="factory.html#tree_node.reference.factory.definition" title="Where defined">Where defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/factory.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.factory.tpl_param"></a><a class="link" href="factory.html#tree_node.reference.factory.tpl_param" title="Template Parameters">Template Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of object that the <code class="computeroutput"><span class="identifier">factory</span></code>
-                    methods will create.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.factory.members"></a><a class="link" href="factory.html#tree_node.reference.factory.members" title="Public Members">Public Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Depth access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">static</span> <span class="keyword">typename</span>
-                    <span class="identifier">T</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default-constructs an instance of type <code class="computeroutput"><span class="identifier">T</span></code>
-                    on the heap.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Depth access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">pointer</span>
-    <span class="identifier">create</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<p>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Heap-allocates an instance of type <code class="computeroutput"><span class="identifier">T</span></code>
-                    that will store the specified data.
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="in_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="traversal_state.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/in_order_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/in_order_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,745 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>in_order_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="post_order_desc_iter.html" title="post_order_descendant_iterator<Node>">
+<link rel="next" href="depth_first_iterator.html" title="depth_first_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="post_order_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="depth_first_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.in_order_iterator"></a><a class="link" href="in_order_iterator.html" title="in_order_iterator<Node>"><code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.synopsis"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">in_order_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+          <span class="special">,</span> <span class="identifier">Node</span><span class="special">*</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bidirectional_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">in_order_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">in_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">start_left</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">in_order_iterator</span><span class="special">(</span>
+            <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.description"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the specified root node and all its descendants
+          in in-order fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          The tree nodes will be traversed forward in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">D</span> <span class="identifier">C</span> <span class="identifier">E</span> <span class="identifier">A</span> <span class="identifier">F</span> <span class="identifier">B</span> <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator can also be used to traverse the tree nodes <span class="emphasis"><em>backwards</em></span>:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">G</span> <span class="identifier">B</span> <span class="identifier">F</span> <span class="identifier">A</span> <span class="identifier">E</span> <span class="identifier">C</span> <span class="identifier">D</span>
+</pre>
+<p>
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This iterator works only on <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a> models.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.definition"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/in_order_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.tpl_param"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.model_of"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+<span class="special">*</span> Bidirectional Iterator
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.public_bases"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.members"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">in_order_iterator</span><span class="special">(</span><span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special">(</span><span class="identifier">in_order_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">in_order_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-decrement operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">--();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Reverse Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-decrement operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">in_order_iterator</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Reverse Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">operator</span> <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.in_order_iterator.non_members"></a><a class="link" href="in_order_iterator.html#tree_node.reference.in_order_iterator.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Forward Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span> <span class="identifier">make_in_order_forward_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">in_order_iterator</span></code>
+                    that will iterate forward through the specified node and its
+                    descendants.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reverse iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span> <span class="identifier">make_in_order_reverse_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">in_order_iterator</span></code>
+                    that will iterate in reverse through the specified node and its
+                    descendants.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Forward iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">in_order_iterate_forward</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the specified node and its descendants in forward
+                    in-order fashion, passing each node pointer dereferenced to the
+                    specified Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reverse iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">in_order_iterate_reverse</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the specified node and its descendants in reverse
+                    in-order fashion, passing each element dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">N2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">N1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">N2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">N2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">N1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">in_order_iterator</span><span class="special"><</span><span class="identifier">N2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="post_order_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="depth_first_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/lexicographical_compare.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/lexicographical_compare.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>lexicographical_compare()</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="strictly_equal.html" title="strictly_equal()">
+<link rel="next" href="strict_lexicograph_comp.html" title="lexicographical_compare()">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="strictly_equal.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="strict_lexicograph_comp.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.lexicographical_compare"></a><a class="link" href="lexicographical_compare.html" title="lexicographical_compare()"><code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">()</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.lexicographical_compare.synopsis"></a><a class="link" href="lexicographical_compare.html#tree_node.reference.lexicographical_compare.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Iterator1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">KeyCompare</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueCompare</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="identifier">lexicographical_compare</span><span class="special">(</span>
+            <span class="identifier">Iterator1</span> <span class="identifier">itr1</span>
+          <span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span>
+          <span class="special">,</span> <span class="identifier">KeyCompare</span> <span class="identifier">key_comp</span>
+          <span class="special">,</span> <span class="identifier">ValueCompare</span> <span class="identifier">value_comp</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BinaryPredicate</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="identifier">lexicographical_compare</span><span class="special">(</span>
+            <span class="identifier">Iterator1</span> <span class="identifier">itr1</span>
+          <span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span>
+          <span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">comp</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">></span>
+    <span class="keyword">bool</span> <span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">Iterator1</span> <span class="identifier">itr1</span><span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.lexicographical_compare.description"></a><a class="link" href="lexicographical_compare.html#tree_node.reference.lexicographical_compare.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.lexicographical_compare.definition"></a><a class="link" href="lexicographical_compare.html#tree_node.reference.lexicographical_compare.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/algorithm/lexicographical_compare.hpp<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 © 2011 -2012 Cromwell D. Enage<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="strictly_equal.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="strict_lexicograph_comp.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,769 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>nary_node<T,Selector></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="binary_node_gen.html" title="binary_node_gen">
+<link rel="next" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binary_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.nary_node"></a><a class="link" href="nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.description"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This class template is suitable for classes or algorithms that require
+          a tree node data structure that can handle an arbitrary number of children.
+          Objects of this type can be stored by value.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This component depends on Boost.Utility.ContainerGen, which is not
+            yet a part of Boost. For now, you must perform a Subversion checkout
+            from the SVN Trac.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.definition"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.definition" title="Where defined">Where defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/nary_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.tpl_param"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.tpl_param" title="Template Parameters">Template Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of the object to be stored in an <code class="computeroutput"><span class="identifier">nary_node</span></code>.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Selector</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type that determines the internal container types whose value
+                    types are the same as the pointer type.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must be a type for which container_gen returns
+                    a recursive, move-aware container.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">boost_dequeS</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.model_of"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.model_of" title="Model of">Model of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
+<span class="special">*</span> Movable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.public_bases"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">nary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">>,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.members"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.members" title="Public Members">Public Members</a>
+</h4></div></div></div>
+<p>
+          Given:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">nary_node</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">super_t</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span> <span class="identifier">traits</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span> <span class="identifier">const_pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">nary_node</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">nary_node</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node</span><span class="special">(</span><span class="identifier">nary_node</span> <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node</span><span class="special">(</span><span class="identifier">nary_node</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node</span><span class="special">&</span>
+                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">nary_node</span> <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node</span><span class="special">&</span>
+                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">nary_node</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.non_members"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from <a class="link" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node.example"></a><a class="link" href="nary_node.html#tree_node.reference.nary_node.example" title="Example">Example</a>
+</h4></div></div></div>
+<p>
+          <example/nary_node.cpp>
+        </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 © 2011 -2012 Cromwell D. Enage<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="binary_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,1040 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>nary_node_base<Derived,T,Selector></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="nary_node.html" title="nary_node<T,Selector>">
+<link rel="next" href="nary_node_gen.html" title="nary_node_gen<Selector>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nary_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.nary_node_base"></a><a class="link" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.description"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <a class="link" href="nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a>
+          class template inherits its functionality from this class template. They
+          differ only with regard to template parameters: the <a class="link" href="nary_node.html" title="nary_node<T,Selector>"><code class="computeroutput"><span class="identifier">nary_node</span></code></a> class template is meant
+          to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">nary_node_base</span></code>
+          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
+          via the <a class="link" href="nary_node_gen.html" title="nary_node_gen<Selector>"><code class="computeroutput"><span class="identifier">nary_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This component depends on Boost.Utility.ContainerGen, which is not
+            yet a part of Boost. For now, you must perform a Subversion checkout
+            from the SVN Trac.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.definition"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/nary_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.tpl_param"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Selector</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type that determines the internal container types whose value
+                    types are the same as the pointer type.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must be a type for which container_gen returns
+                    a valid container.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.model_of"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
+<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
+<span class="special">*</span> Movable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.public_bases"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.members"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.members" title="Public Members">Public
+        Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Data type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">traits</span>
+<span class="special">{</span>
+    <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">data_type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
+        <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
+        <span class="identifier">const_pointer</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="comment">// implementation_defined
+</span>        <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Immutable iterator type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typedef</span> <span class="comment">// implementation_defined
+</span>        <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">nary_node_base</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">nary_node_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">nary_node_base</span><span class="special">(</span><span class="identifier">nary_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node_base</span><span class="special">(</span><span class="identifier">nary_node_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">nary_node_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">nary_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">nary_node_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Movable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Data access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Parent access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pointer</span> <span class="identifier">get_parent_ptr</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Child copy creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">Derived</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
+                    Tree Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range begin access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Children range past-the-end access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Leaf node query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Remove all children
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+                    Node</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_base.non_members"></a><a class="link" href="nary_node_base.html#tree_node.reference.nary_node_base.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">Selector1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Selector2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Performs in-order comparison of the data of each of the specified
+                    nodes and their descendants, then compares the nodes for structural
+                    equality. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                    if and only if the nodes are lexicographically and structurally
+                    equal, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">Selector1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Selector2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special">==</span>
+                    <span class="identifier">lhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Less
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special"><(</span>
+            <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">Selector1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Selector2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Performs in-order comparison of the data of each of the specified
+                    nodes and their descendants, then compares the nodes for structural
+                    inequality. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                    if and only if the first node is lexicographically less than
+                    the second one, or if both nodes are lexicographically equal
+                    but the first one is skewed further to the left than the second
+                    one, <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Greater
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">>(</span>
+            <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">Selector1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Selector2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="identifier">rhs</span> <span class="special"><</span> <span class="identifier">lhs</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Less or equal
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special"><=(</span>
+            <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">Selector1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Selector2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">rhs</span> <span class="special"><</span>
+                    <span class="identifier">lhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Greater or equal
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Derived1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Derived2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector2</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">>=(</span>
+            <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived1</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">Selector1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived2</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Selector2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Equivalent to <code class="computeroutput"><span class="special">!(</span><span class="identifier">lhs</span> <span class="special"><</span>
+                    <span class="identifier">rhs</span><span class="special">)</span></code>.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="nary_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="nary_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node_gen.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/nary_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,188 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>nary_node_gen<Selector></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>">
+<link rel="next" href="associative_node.html" title="associative_node<Key,Data,AssociativeContainerSelector>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nary_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.nary_node_gen"></a><a class="link" href="nary_node_gen.html" title="nary_node_gen<Selector>"><code class="computeroutput"><span class="identifier">nary_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.synopsis"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">boost_dequeS</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">nary_node_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="keyword">typedef</span> <span class="identifier">nary_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+        <span class="special">};</span>
+    <span class="special">};</span>
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.description"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            This component depends on Boost.Utility.ContainerGen, which is not
+            yet a part of Boost. For now, you must perform a Subversion checkout
+            from the SVN Trac.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.definition"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/nary_node.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.model_of"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.model_of" title="Model of">Model of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.tpl_param"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Selector</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type that determines the internal container types of <a class="link" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must be a type for which container_gen returns
+                    a recursive, move_aware container.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">boost_dequeS</span></code>
+                  </p>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.expressions"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.expressions" title="Expression Semantics">Expression
+        Semantics</a>
+</h4></div></div></div>
+<p>
+          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
+          that will inherit from <a class="link" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>"><code class="computeroutput"><span class="identifier">nary_node_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">T</span></code> be the data type. Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid <code class="computeroutput"><span class="identifier">nary_node_gen</span></code>
+          template argument.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span><span class="identifier">nary_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">>,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="nary_node_base.html" title="nary_node_base<Derived,T,Selector>">nary_node_base</a><Derived,T,Selector></code>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.nary_node_gen.complexity"></a><a class="link" href="nary_node_gen.html#tree_node.reference.nary_node_gen.complexity" title="Complexity">Complexity</a>
+</h4></div></div></div>
+<p>
+          Compile time.
+        </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 © 2011 -2012 Cromwell D. Enage<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="nary_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_node.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/post_order_desc_iter.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/post_order_desc_iter.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,648 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>post_order_descendant_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="post_order_iterator.html" title="post_order_iterator<Node>">
+<link rel="next" href="in_order_iterator.html" title="in_order_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="post_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="in_order_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.post_order_desc_iter"></a><a class="link" href="post_order_desc_iter.html" title="post_order_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.synopsis"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">post_order_descendant_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="comment">//, typename Node::iterator or typename Node::const_iterator
+</span>          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">post_order_descendant_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">post_order_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">post_order_descendant_iterator</span><span class="special">(</span>
+            <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.description"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the descendants of the specified root node in post-order
+          fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">D</span> <span class="identifier">E</span> <span class="identifier">C</span> <span class="identifier">F</span> <span class="identifier">G</span> <span class="identifier">B</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.definition"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/post_order_desc_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.tpl_param"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.model_of"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.public_bases"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.members"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">post_order_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">post_order_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">post_order_descendant_iterator</span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">post_order_descendant_iterator</span><span class="special">&</span>
+    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">post_order_descendant_iterator</span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_desc_iter.non_members"></a><a class="link" href="post_order_desc_iter.html#tree_node.reference.post_order_desc_iter.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="identifier">make_post_order_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">post_order_descendant_iterator</span></code>
+                    that will iterate through the descendants of the specified node.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">post_order_iterate_descendants</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the descendants of the specified node in post-order
+                    fashion, passing each element dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">post_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="post_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="in_order_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/post_order_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/post_order_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,636 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>post_order_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="pre_order_desc_iter.html" title="pre_order_descendant_iterator<Node>">
+<link rel="next" href="post_order_desc_iter.html" title="post_order_descendant_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pre_order_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="post_order_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.post_order_iterator"></a><a class="link" href="post_order_iterator.html" title="post_order_iterator<Node>"><code class="computeroutput"><span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.synopsis"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">post_order_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+          <span class="special">,</span> <span class="identifier">Node</span><span class="special">*</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">post_order_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">post_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">post_order_iterator</span><span class="special">(</span>
+            <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.description"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the specified root node and all its descendants
+          in post-order fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">D</span> <span class="identifier">E</span> <span class="identifier">C</span> <span class="identifier">F</span> <span class="identifier">G</span> <span class="identifier">B</span> <span class="identifier">A</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.definition"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/post_order_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.tpl_param"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.model_of"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.public_bases"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.members"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">post_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">post_order_iterator</span><span class="special">(</span><span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span><span class="special">(</span><span class="identifier">post_order_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">post_order_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">post_order_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.post_order_iterator.non_members"></a><a class="link" href="post_order_iterator.html#tree_node.reference.post_order_iterator.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span> <span class="identifier">make_post_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">post_order_iterator</span></code>
+                    that will iterate through the specified node and its descendants.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">post_order_iterate</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the specified node and its descendants in post-order
+                    fashion, passing each node pointer dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">post_order_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="pre_order_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="post_order_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/pre_order_desc_iter.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/pre_order_desc_iter.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,648 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>pre_order_descendant_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="pre_order_iterator.html" title="pre_order_iterator<Node>">
+<link rel="next" href="post_order_iterator.html" title="post_order_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pre_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="post_order_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.pre_order_desc_iter"></a><a class="link" href="pre_order_desc_iter.html" title="pre_order_descendant_iterator<Node>"><code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.synopsis"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">pre_order_descendant_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="comment">//, typename Node::iterator or typename Node::const_iterator
+</span>          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">pre_order_descendant_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">pre_order_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">pre_order_descendant_iterator</span><span class="special">(</span>
+            <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.description"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the descendants of the specified root node in pre-order
+          fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">C</span> <span class="identifier">D</span> <span class="identifier">E</span> <span class="identifier">B</span> <span class="identifier">F</span> <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.definition"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/pre_order_desc_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.tpl_param"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.model_of"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.public_bases"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.members"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">pre_order_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_desc_iterator.html" title="Tree Node Descendant Iterator"><span class="bold"><strong>Tree Node Descendant Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">pre_order_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pre_order_descendant_iterator</span><span class="special">(</span>
+    <span class="identifier">pre_order_descendant_iterator</span> <span class="keyword">const</span><span class="special">&</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">pre_order_descendant_iterator</span><span class="special">&</span>
+    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">pre_order_descendant_iterator</span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_desc_iter.non_members"></a><a class="link" href="pre_order_desc_iter.html#tree_node.reference.pre_order_desc_iter.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+        <span class="identifier">make_pre_order_descendant_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">pre_order_descendant_iterator</span></code>
+                    that will iterate through the descendants of the specified node.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">pre_order_iterate_descendants</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the descendants of the specified node in pre-order
+                    fashion, passing each element dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">pre_order_descendant_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="pre_order_iterator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="post_order_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/pre_order_iterator.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/pre_order_iterator.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,636 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>pre_order_iterator<Node></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="breadth_first_desc_iter.html" title="breadth_first_descendant_iterator<Node>">
+<link rel="next" href="pre_order_desc_iter.html" title="pre_order_descendant_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="breadth_first_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="pre_order_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.pre_order_iterator"></a><a class="link" href="pre_order_iterator.html" title="pre_order_iterator<Node>"><code class="computeroutput"><span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.synopsis"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">pre_order_iterator</span>
+      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_adaptor</span><span class="special"><</span>
+            <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span>
+          <span class="special">,</span> <span class="identifier">Node</span><span class="special">*</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">use_default</span>
+          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">forward_traversal_tag</span>
+        <span class="special">></span>
+    <span class="special">{</span>
+
+     <span class="keyword">public</span><span class="special">:</span>
+        <span class="identifier">pre_order_iterator</span><span class="special">();</span>
+
+        <span class="keyword">explicit</span> <span class="identifier">pre_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+        <span class="identifier">pre_order_iterator</span><span class="special">(</span>
+            <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">other</span>
+        <span class="special">);</span>
+
+        <span class="keyword">operator</span> <span class="identifier">traversal_state</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="special">};</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.description"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This iterator traverses the specified root node and all its descendants
+          in pre-order fashion, e.g. given the following tree representation:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting">      <span class="identifier">A</span>
+      <span class="special">|</span>
+  <span class="identifier">C</span><span class="special">---+---</span><span class="identifier">B</span>
+  <span class="special">|</span>       <span class="special">|</span>
+<span class="special">+-+-+</span>   <span class="special">+-+-+</span>
+<span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>   <span class="special">|</span>
+<span class="identifier">D</span>   <span class="identifier">E</span>   <span class="identifier">F</span>   <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+<p>
+          This iterator will traverse the tree nodes in the following order:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">A</span> <span class="identifier">C</span> <span class="identifier">D</span> <span class="identifier">E</span> <span class="identifier">B</span> <span class="identifier">F</span> <span class="identifier">G</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.definition"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/pre_order_iterator.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.tpl_param"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Node</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The type of a tree node.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept, but it can be
+                    <code class="computeroutput"><span class="keyword">const</span></code>-qualified.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.model_of"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+<span class="special">*</span> Default Constructible
+<span class="special">*</span> Copy Constructible
+<span class="special">*</span> Assignable
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.public_bases"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.members"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Expression
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Where defined
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Value type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">value_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Reference type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Distance type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">difference_type</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iterator category
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">iterator_category</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_iterator</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Default Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor from node
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">pre_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/full_tree_node_iterator.html" title="Full Tree Node Iterator"><span class="bold"><strong>Full Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Conversion constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">></span>
+<span class="identifier">pre_order_iterator</span><span class="special">(</span><span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span><span class="special">&);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_iterator</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_iterator</span><span class="special">(</span><span class="identifier">pre_order_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Copy Constructible
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">pre_order_iterator</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Assignable
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Dereference operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Indirection operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pre-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_iterator</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Post-increment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pre_order_iterator</span>
+                    <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Forward Iterator
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Traversal state conversion operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="literal">operator <a class="link" href="traversal_state.html" title="traversal_state">traversal_state</a>()
+                    const;</code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <a class="link" href="../concepts/tree_node_iterator.html" title="Tree Node Iterator"><span class="bold"><strong>Tree Node Iterator</strong></span></a>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.pre_order_iterator.non_members"></a><a class="link" href="pre_order_iterator.html#tree_node.reference.pre_order_iterator.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Iterator creation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">></span>
+    <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node</span><span class="special">></span> <span class="identifier">make_pre_order_iterator</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Constructs and returns a <code class="computeroutput"><span class="identifier">pre_order_iterator</span></code>
+                    that will iterate through the specified node and its descendants.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Iteration
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">UnaryFunction</span><span class="special">></span>
+    <span class="keyword">void</span> <span class="identifier">pre_order_iterate</span><span class="special">(</span><span class="identifier">Node</span><span class="special">&</span> <span class="identifier">node</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">function</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Iterates through the specified node and its descendants in pre-order
+                    fashion, passing each node pointer dereferenced to the specified
+                    Unary Function object.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Equality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">==(</span>
+            <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Inequality
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Node1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Node2</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="keyword">operator</span><span class="special">!=(</span>
+            <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node1</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">lhs</span>
+          <span class="special">,</span> <span class="identifier">pre_order_iterator</span><span class="special"><</span><span class="identifier">Node2</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Input Iterator concept.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="breadth_first_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="pre_order_desc_iter.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,791 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_associative_node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="simple_node_gen.html" title="simple_node_gen">
-<link rel="next" href="raw_associative_node_base.html" title="raw_associative_node_base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="simple_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_associative_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_associative_node"></a><a class="link" href="raw_associative_node.html" title="raw_associative_node"><code class="computeroutput"><span class="identifier">raw_associative_node</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.synopsis"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span>
-        <span class="keyword">typename</span> <span class="identifier">Key</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">AssociativeContainerSelector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mapS</span>
-    <span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">raw_associative_node</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">raw_associative_node_base</span><span class="special"><</span>
-            <span class="identifier">raw_associative_node</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">AssociativeContainerSelector</span><span class="special">></span>
-          <span class="special">,</span> <span class="identifier">Key</span>
-          <span class="special">,</span> <span class="identifier">Data</span>
-          <span class="special">,</span> <span class="identifier">AssociativeContainerSelector</span>
-        <span class="special">></span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">raw_associative_node_base</span><span class="special"><</span>
-                    <span class="identifier">raw_associative_node</span>
-                  <span class="special">,</span> <span class="identifier">Key</span>
-                  <span class="special">,</span> <span class="identifier">Data</span>
-                  <span class="special">,</span> <span class="identifier">AssociativeContainerSelector</span>
-                <span class="special">></span>
-                <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span>
-                <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span>
-                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span>
-                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-        <span class="identifier">raw_associative_node</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">raw_associative_node</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.description"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This class template is suitable for classes or algorithms that need to
-          map keys to child nodes in a tree node data structure that does not need
-          to be exposed to external code. Objects of this type can be stored by value,
-          and their children can be accessed by their associated keys for fast lookup.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.definition"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_associative_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.tpl_param"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Key</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of a key object to be associated with a child of a
-                    <code class="computeroutput"><span class="identifier">raw_associative_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Data</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">raw_associative_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">AssociativeContainerSelector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal map types whose mapped
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which associative_container_gen
-                    returns a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">mapS</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.model_of"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
-<span class="special">*</span> Copy Constructible
-<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Assignable
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.public_bases"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="raw_associative_node_base.html" title="raw_associative_node_base"><code class="computeroutput"><span class="identifier">raw_associative_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.members"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.members" title="Public Members">Public
-        Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Key type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_associative_node</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">raw_associative_node</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Copy constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_associative_node</span><span class="special">(</span><span class="identifier">raw_associative_node</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Copy Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Assignment operator
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_associative_node</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_associative_node</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Assignable
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&)</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<const_child_iterator,const_child_iterator>
-                    find_children(typename traits::key_type const&) const;</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<child_iterator,child_iterator>
-                    find_children(typename traits::key_type const&);</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node.example"></a><a class="link" href="raw_associative_node.html#tree_node.reference.raw_associative_node.example" title="Example">Example</a>
-</h4></div></div></div>
-<p>
-          <example/raw_associative_node.cpp>
-        </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 © 2011 Cromwell D. Enage<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="simple_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_associative_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,851 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_associative_node_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_associative_node.html" title="raw_associative_node">
-<link rel="next" href="raw_associative_node_gen.html" title="raw_associative_node_gen">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_associative_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_associative_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_associative_node_base"></a><a class="link" href="raw_associative_node_base.html" title="raw_associative_node_base"><code class="computeroutput"><span class="identifier">raw_associative_node_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.synopsis"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span>
-        <span class="keyword">typename</span> <span class="identifier">Derived</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">AssociativeContainerSelector</span>
-    <span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">raw_associative_node_base</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
-    <span class="special">{</span>
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">struct</span> <span class="identifier">traits</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">Key</span> <span class="identifier">key_type</span><span class="special">;</span>
-            <span class="keyword">typedef</span> <span class="identifier">Data</span> <span class="identifier">data_type</span><span class="special">;</span>
-        <span class="special">};</span>
-
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-        <span class="identifier">raw_associative_node_base</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">raw_associative_node_base</span><span class="special">(</span>
-            <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
-        <span class="special">);</span>
-
-        <span class="identifier">raw_associative_node_base</span><span class="special">(</span><span class="identifier">raw_associative_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">raw_associative_node_base</span><span class="special">&</span>
-            <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_associative_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">raw_associative_node_base</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span>
-            <span class="identifier">add_child</span><span class="special">(</span>
-                <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
-              <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
-            <span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span>
-            <span class="identifier">add_child_copy</span><span class="special">(</span>
-                <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
-              <span class="special">,</span> <span class="identifier">const_pointer</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span>
-            <span class="special">);</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span>
-            <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_child_iterator</span><span class="special">,</span><span class="identifier">const_child_iterator</span><span class="special">></span>
-            <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">child_iterator</span><span class="special">,</span><span class="identifier">child_iterator</span><span class="special">></span>
-            <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.description"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          The <a class="link" href="raw_associative_node.html" title="raw_associative_node"><code class="computeroutput"><span class="identifier">raw_associative_node</span></code></a> class template
-          inherits its functionality from this class template. They differ only with
-          regard to template parameters: the <a class="link" href="raw_associative_node.html" title="raw_associative_node"><code class="computeroutput"><span class="identifier">raw_associative_node</span></code></a> class template
-          is meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">raw_associative_node_base</span></code>
-          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
-          via the <a class="link" href="raw_associative_node_gen.html" title="raw_associative_node_gen"><code class="computeroutput"><span class="identifier">raw_associative_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.definition"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_associative_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.tpl_param"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Key</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The key type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Data</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">AssociativeContainerSelector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal map types whose mapped
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which associative_container_gen
-                    returns a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">mapS</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.model_of"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
-<span class="special">*</span> Copy Constructible
-<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">Data</span><span class="error">`</span> <span class="identifier">is</span> Assignable
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.public_bases"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="tree_node_base.html" title="tree_node_base"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_base.members"></a><a class="link" href="raw_associative_node_base.html#tree_node.reference.raw_associative_node_base.members" title="Public Members">Public
-        Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Key type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_associative_node_base</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">raw_associative_node_base</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Copy constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_associative_node_base</span><span class="special">(</span><span class="identifier">raw_associative_node_base</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Copy Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Assignment operator
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_associative_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_associative_node_base</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Assignable
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&)</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<const_child_iterator,const_child_iterator>
-                    find_children(typename traits::key_type const&) const;</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<child_iterator,child_iterator>
-                    find_children(typename traits::key_type const&);</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="raw_associative_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_associative_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node_gen.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_associative_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,198 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_associative_node_gen</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_associative_node_base.html" title="raw_associative_node_base">
-<link rel="next" href="simple_associative_node.html" title="simple_associative_node">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_associative_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_associative_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_associative_node_gen"></a><a class="link" href="raw_associative_node_gen.html" title="raw_associative_node_gen"><code class="computeroutput"><span class="identifier">raw_associative_node_gen</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.synopsis"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mapS</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">raw_associative_node_gen</span>
-    <span class="special">{</span>
-        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span><span class="special">></span>
-        <span class="keyword">struct</span> <span class="identifier">apply</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">raw_associative_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
-        <span class="special">};</span>
-    <span class="special">};</span>
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.description"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.definition"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_associative_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.model_of"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.tpl_param"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types of <a class="link" href="raw_associative_node_base.html" title="raw_associative_node_base"><code class="computeroutput"><span class="identifier">raw_associative_node_base</span></code></a>.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which associative_container_gen
-                    returns a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">mapS</span></code>
-                  </p>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.expressions"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.expressions" title="Expression Semantics">Expression
-        Semantics</a>
-</h4></div></div></div>
-<p>
-          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
-          that will inherit from <a class="link" href="raw_associative_node_base.html" title="raw_associative_node_base"><code class="computeroutput"><span class="identifier">raw_associative_node_base</span></code></a>. Let
-          <code class="computeroutput"><span class="identifier">Key</span></code> be the key type. Let
-          <code class="computeroutput"><span class="identifier">Data</span></code> be the data type.
-          Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid
-          <code class="computeroutput"><span class="identifier">raw_associative_node_gen</span></code>
-          template argument.
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
-    <span class="identifier">raw_associative_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span>
-  <span class="special">,</span> <span class="identifier">Derived</span>
-  <span class="special">,</span> <span class="identifier">Key</span>
-  <span class="special">,</span> <span class="identifier">Data</span>
-<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="raw_associative_node_base.html" title="raw_associative_node_base">raw_associative_node_base</a><Derived,Key,Data,Selector></code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_associative_node_gen.complexity"></a><a class="link" href="raw_associative_node_gen.html#tree_node.reference.raw_associative_node_gen.complexity" title="Complexity">Complexity</a>
-</h4></div></div></div>
-<p>
-          Compile time.
-        </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 © 2011 Cromwell D. Enage<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="raw_associative_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_associative_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,794 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_binary_node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="../reference.html" title="Reference">
-<link rel="next" href="raw_binary_node_base.html" title="raw_binary_node_base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_binary_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_binary_node"></a><a class="link" href="raw_binary_node.html" title="raw_binary_node"><code class="computeroutput"><span class="identifier">raw_binary_node</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.synopsis"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">raw_binary_node</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">raw_binary_node_base</span><span class="special"><</span><span class="identifier">raw_binary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span><span class="identifier">T</span><span class="special">></span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">raw_binary_node_base</span><span class="special"><</span><span class="identifier">raw_binary_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span> <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span> <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span> <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span> <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-        <span class="identifier">raw_binary_node</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">raw_binary_node</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.description"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This class template is suitable for classes or algorithms that require
-          a binary tree node data structure but do not need to expose it to external
-          code. Objects of this type can be stored by value.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.definition"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_binary_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.tpl_param"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">raw_binary_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.model_of"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
-<span class="special">*</span> Copy Constructible
-<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.public_bases"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="raw_binary_node_base.html" title="raw_binary_node_base"><code class="computeroutput"><span class="identifier">raw_binary_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.members"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.members" title="Public Members">Public
-        Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_binary_node</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">raw_binary_node</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Copy constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_binary_node</span><span class="special">(</span><span class="identifier">raw_binary_node</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Copy Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Assignment operator
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_binary_node</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_binary_node</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Assignable
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_left_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_left_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_left_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_right_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_right_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_right_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_left_child</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_left_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_right_child</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_right_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Rotate left
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">rotate_left</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Rotate right
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">rotate_right</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove left child
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_left_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove right child
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_right_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node.example"></a><a class="link" href="raw_binary_node.html#tree_node.reference.raw_binary_node.example" title="Example">Example</a>
-</h4></div></div></div>
-<p>
-          <example/raw_binary_node.cpp>
-        </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 © 2011 Cromwell D. Enage<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="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_binary_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,868 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_binary_node_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_binary_node.html" title="raw_binary_node">
-<link rel="next" href="raw_binary_node_gen.html" title="raw_binary_node_gen">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_binary_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_binary_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_binary_node_base"></a><a class="link" href="raw_binary_node_base.html" title="raw_binary_node_base"><code class="computeroutput"><span class="identifier">raw_binary_node_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.synopsis"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">raw_binary_node_base</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
-    <span class="special">{</span>
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">struct</span> <span class="identifier">traits</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">data_type</span><span class="special">;</span>
-        <span class="special">};</span>
-
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-        <span class="identifier">raw_binary_node_base</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">raw_binary_node_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-        <span class="identifier">raw_binary_node_base</span><span class="special">(</span><span class="identifier">raw_binary_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">raw_binary_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_binary_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">raw_binary_node_base</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_left_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_left_child</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_left_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_right_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_right_child</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_right_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_left_child</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_left_child</span><span class="special">();</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_right_child</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_right_child</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">rotate_left</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">rotate_right</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_left_child</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_right_child</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.description"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          The <a class="link" href="raw_binary_node.html" title="raw_binary_node"><code class="computeroutput"><span class="identifier">raw_binary_node</span></code></a>
-          class template inherits its functionality from this class template. They
-          differ only with regard to template parameters: the <a class="link" href="raw_binary_node.html" title="raw_binary_node"><code class="computeroutput"><span class="identifier">raw_binary_node</span></code></a> class template
-          is meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">raw_binary_node_base</span></code>
-          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
-          via the <a class="link" href="raw_binary_node_gen.html" title="raw_binary_node_gen"><code class="computeroutput"><span class="identifier">raw_binary_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.definition"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_binary_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.tpl_param"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.model_of"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
-<span class="special">*</span> Copy Constructible
-<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.public_bases"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="tree_node_base.html" title="tree_node_base"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_base.members"></a><a class="link" href="raw_binary_node_base.html#tree_node.reference.raw_binary_node_base.members" title="Public Members">Public
-        Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_binary_node_base</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">raw_binary_node_base</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Copy constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_binary_node_base</span><span class="special">(</span><span class="identifier">raw_binary_node_base</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Copy Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Assignment operator
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_binary_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_binary_node_base</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Assignable
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_left_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_left_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_left_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_right_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_right_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_right_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_left_child</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Left child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_left_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_right_child</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Right child access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_right_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Rotate left
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">rotate_left</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Rotate right
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">rotate_right</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove left child
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_left_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove right child
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_right_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/binary_tree_node.html" title="Binary Tree Node"><span class="bold"><strong>Binary Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="raw_binary_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_binary_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node_gen.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_binary_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,117 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_binary_node_gen</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_binary_node_base.html" title="raw_binary_node_base">
-<link rel="next" href="raw_node.html" title="raw_node">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_binary_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_binary_node_gen"></a><a class="link" href="raw_binary_node_gen.html" title="raw_binary_node_gen"><code class="computeroutput"><span class="identifier">raw_binary_node_gen</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_gen.synopsis"></a><a class="link" href="raw_binary_node_gen.html#tree_node.reference.raw_binary_node_gen.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">struct</span> <span class="identifier">raw_binary_node_gen</span>
-    <span class="special">{</span>
-        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-        <span class="keyword">struct</span> <span class="identifier">apply</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">raw_binary_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
-        <span class="special">};</span>
-    <span class="special">};</span>
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_gen.description"></a><a class="link" href="raw_binary_node_gen.html#tree_node.reference.raw_binary_node_gen.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_gen.definition"></a><a class="link" href="raw_binary_node_gen.html#tree_node.reference.raw_binary_node_gen.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_binary_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_gen.model_of"></a><a class="link" href="raw_binary_node_gen.html#tree_node.reference.raw_binary_node_gen.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_gen.expressions"></a><a class="link" href="raw_binary_node_gen.html#tree_node.reference.raw_binary_node_gen.expressions" title="Expression Semantics">Expression
-        Semantics</a>
-</h4></div></div></div>
-<p>
-          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
-          that will inherit from <a class="link" href="raw_binary_node_base.html" title="raw_binary_node_base"><code class="computeroutput"><span class="identifier">raw_binary_node_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">T</span></code> be the data type.
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span><span class="identifier">raw_binary_node_gen</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="raw_binary_node_base.html" title="raw_binary_node_base">raw_binary_node_base</a><Derived,T></code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_binary_node_gen.complexity"></a><a class="link" href="raw_binary_node_gen.html#tree_node.reference.raw_binary_node_gen.complexity" title="Complexity">Complexity</a>
-</h4></div></div></div>
-<p>
-          Compile time.
-        </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 © 2011 Cromwell D. Enage<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="raw_binary_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,639 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_binary_node_gen.html" title="raw_binary_node_gen">
-<link rel="next" href="raw_node_base.html" title="raw_node_base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_binary_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_node"></a><a class="link" href="raw_node.html" title="raw_node"><code class="computeroutput"><span class="identifier">raw_node</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.synopsis"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dequeS</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">raw_node</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">raw_node_base</span><span class="special"><</span><span class="identifier">raw_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">>,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">raw_node_base</span><span class="special"><</span><span class="identifier">raw_node</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span> <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span> <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span> <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span> <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-        <span class="identifier">raw_node</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">raw_node</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.description"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This class template is suitable for classes or algorithms that require
-          a tree node data structure that can handle an arbitrary number of children
-          but does not need to be exposed to external code. Objects of this type
-          can be stored by value.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.definition"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.definition" title="Where defined">Where defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.tpl_param"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.tpl_param" title="Template Parameters">Template Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">raw_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types whose value
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which container_gen returns
-                    a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">dequeS</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.model_of"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.model_of" title="Model of">Model of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
-<span class="special">*</span> Copy Constructible
-<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.public_bases"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.public_bases" title="Public Base Classes">Public Base
-        Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="raw_node_base.html" title="raw_node_base"><code class="computeroutput"><span class="identifier">raw_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.members"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.members" title="Public Members">Public Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_node</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">raw_node</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Copy constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_node</span><span class="special">(</span><span class="identifier">raw_node</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Copy Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Assignment operator
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_node</span><span class="special">&</span>
-                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_node</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Assignable
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node.example"></a><a class="link" href="raw_node.html#tree_node.reference.raw_node.example" title="Example">Example</a>
-</h4></div></div></div>
-<p>
-          <example/raw_node.cpp>
-        </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 © 2011 Cromwell D. Enage<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="raw_binary_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,690 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_node_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_node.html" title="raw_node">
-<link rel="next" href="raw_node_gen.html" title="raw_node_gen">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_node_base"></a><a class="link" href="raw_node_base.html" title="raw_node_base"><code class="computeroutput"><span class="identifier">raw_node_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.synopsis"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">raw_node_base</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
-    <span class="special">{</span>
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">struct</span> <span class="identifier">traits</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">data_type</span><span class="special">;</span>
-        <span class="special">};</span>
-
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-        <span class="identifier">raw_node_base</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">raw_node_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-        <span class="identifier">raw_node_base</span><span class="special">(</span><span class="identifier">raw_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">raw_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_node_base</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">raw_node_base</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.description"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          The <a class="link" href="raw_node.html" title="raw_node"><code class="computeroutput"><span class="identifier">raw_node</span></code></a>
-          class template inherits its functionality from this class template. They
-          differ only with regard to template parameters: the <a class="link" href="raw_node.html" title="raw_node"><code class="computeroutput"><span class="identifier">raw_node</span></code></a> class template is meant
-          to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">raw_node_base</span></code>
-          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
-          via the <a class="link" href="raw_node_gen.html" title="raw_node_gen"><code class="computeroutput"><span class="identifier">raw_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.definition"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.tpl_param"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types whose value
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which container_gen returns
-                    a valid container.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.model_of"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.model_of" title="Model of">Model of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-<span class="special">*</span> Default Constructible <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Default Constructible
-<span class="special">*</span> Copy Constructible
-<span class="special">*</span> Assignable <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T</span><span class="error">`</span> <span class="identifier">is</span> Assignable
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.public_bases"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="tree_node_base.html" title="tree_node_base"><code class="computeroutput"><span class="identifier">tree_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_base.members"></a><a class="link" href="raw_node_base.html#tree_node.reference.raw_node_base.members" title="Public Members">Public Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_node_base</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Default Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">raw_node_base</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Copy constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_node_base</span><span class="special">(</span><span class="identifier">raw_node_base</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Copy Constructible
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Assignment operator
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">raw_node_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">raw_node_base</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Assignable
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="raw_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node_gen.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/raw_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,188 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>raw_node_gen</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_node_base.html" title="raw_node_base">
-<link rel="next" href="simple_node.html" title="simple_node">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.raw_node_gen"></a><a class="link" href="raw_node_gen.html" title="raw_node_gen"><code class="computeroutput"><span class="identifier">raw_node_gen</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.synopsis"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dequeS</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">raw_node_gen</span>
-    <span class="special">{</span>
-        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-        <span class="keyword">struct</span> <span class="identifier">apply</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">raw_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
-        <span class="special">};</span>
-    <span class="special">};</span>
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.description"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.definition"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/raw_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.model_of"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.model_of" title="Model of">Model of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.tpl_param"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types of <a class="link" href="raw_node_base.html" title="raw_node_base"><code class="computeroutput"><span class="identifier">raw_node_base</span></code></a>.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which container_gen returns
-                    a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">dequeS</span></code>
-                  </p>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.expressions"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.expressions" title="Expression Semantics">Expression
-        Semantics</a>
-</h4></div></div></div>
-<p>
-          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
-          that will inherit from <a class="link" href="raw_node_base.html" title="raw_node_base"><code class="computeroutput"><span class="identifier">raw_node_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">T</span></code> be the data type. Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid <code class="computeroutput"><span class="identifier">raw_node_gen</span></code>
-          template argument.
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span><span class="identifier">raw_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">>,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="raw_node_base.html" title="raw_node_base">raw_node_base</a><Derived,T,Selector></code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.raw_node_gen.complexity"></a><a class="link" href="raw_node_gen.html#tree_node.reference.raw_node_gen.complexity" title="Complexity">Complexity</a>
-</h4></div></div></div>
-<p>
-          Compile time.
-        </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 © 2011 Cromwell D. Enage<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="raw_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/shared_tree_node_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/shared_tree_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,328 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>shared_tree_node_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="tree_node_base.html" title="tree_node_base">
-<link rel="next" href="breadth_first_iterator.html" title="breadth_first_iterator">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tree_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="breadth_first_iterator.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.shared_tree_node_base"></a><a class="link" href="shared_tree_node_base.html" title="shared_tree_node_base"><code class="computeroutput"><span class="identifier">shared_tree_node_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.shared_tree_node_base.synopsis"></a><a class="link" href="shared_tree_node_base.html#tree_node.reference.shared_tree_node_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">shared_tree_node_base</span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">const_pointer</span><span class="special">;</span>
-
-     <span class="keyword">protected</span><span class="special">:</span>
-        <span class="keyword">void</span> <span class="identifier">shallow_update_impl</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">deep_update_impl</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">shallow_update_derived</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">deep_update_derived</span><span class="special">();</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.shared_tree_node_base.description"></a><a class="link" href="shared_tree_node_base.html#tree_node.reference.shared_tree_node_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.shared_tree_node_base.definition"></a><a class="link" href="shared_tree_node_base.html#tree_node.reference.shared_tree_node_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/shared_base.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.shared_tree_node_base.tpl_param"></a><a class="link" href="shared_tree_node_base.html#tree_node.reference.shared_tree_node_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.shared_tree_node_base.public_bases"></a><a class="link" href="shared_tree_node_base.html#tree_node.reference.shared_tree_node_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          None.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.shared_tree_node_base.members"></a><a class="link" href="shared_tree_node_base.html#tree_node.reference.shared_tree_node_base.members" title="Members">Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Scope
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Shallow update implementation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">shallow_update_impl</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Subclass types should override this method if they hold data
-                    that will change if the tree node and its children are structurally
-                    modified. Does nothing by default.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Deep update implementation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">deep_update_impl</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Subclass types should override this method if they hold data
-                    that will change if the tree node and all its descendants (not
-                    just its children) are structurally modified. Does nothing by
-                    default.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Shallow update
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">shallow_update_derived</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Subclass types should invoke this method after the tree node
-                    and its children are structurally modified. Calls the corresponding
-                    implementation method.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Deep update
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">deep_update_derived</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Subclass types should invoke this method after the tree node
-                    and all its descendants (not just its children) are structurally
-                    modified. Calls the corresponding implementation method.
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="tree_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="breadth_first_iterator.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_assoc_node_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_assoc_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,945 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>simple_associative_node_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="simple_associative_node.html" title="simple_associative_node">
-<link rel="next" href="simple_assoc_node_gen.html" title="simple_associative_node_gen">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="simple_associative_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_assoc_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.simple_assoc_node_base"></a><a class="link" href="simple_assoc_node_base.html" title="simple_associative_node_base"><code class="computeroutput"><span class="identifier">simple_associative_node_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.synopsis"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span>
-        <span class="keyword">typename</span> <span class="identifier">Derived</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">AssociativeContainerSelector</span>
-    <span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">simple_associative_node_base</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">shared_tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
-      <span class="special">,</span> <span class="keyword">private</span> <span class="identifier">noncopyable</span>
-    <span class="special">{</span>
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">struct</span> <span class="identifier">traits</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">Key</span> <span class="identifier">key_type</span><span class="special">;</span>
-            <span class="keyword">typedef</span> <span class="identifier">Data</span> <span class="identifier">data_type</span><span class="special">;</span>
-        <span class="special">};</span>
-
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">shared_tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">shared_tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-
-     <span class="keyword">protected</span><span class="special">:</span>
-        <span class="identifier">simple_associative_node_base</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">simple_associative_node_base</span><span class="special">(</span>
-            <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
-        <span class="special">);</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="special">~</span><span class="identifier">simple_associative_node_base</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span>
-            <span class="identifier">add_child</span><span class="special">(</span>
-                <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
-              <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
-            <span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span>
-            <span class="identifier">add_child_copy</span><span class="special">(</span>
-                <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span>
-              <span class="special">,</span> <span class="identifier">const_pointer</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span>
-            <span class="special">);</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span>
-            <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_child_iterator</span><span class="special">,</span><span class="identifier">const_child_iterator</span><span class="special">></span>
-            <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">child_iterator</span><span class="special">,</span><span class="identifier">child_iterator</span><span class="special">></span>
-            <span class="identifier">find_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">key</span><span class="special">);</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.description"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          The <a class="link" href="simple_associative_node.html" title="simple_associative_node"><code class="computeroutput"><span class="identifier">simple_associative_node</span></code></a> class
-          template inherits its functionality from this class template. They differ
-          only with regard to template parameters: the <a class="link" href="simple_associative_node.html" title="simple_associative_node"><code class="computeroutput"><span class="identifier">simple_associative_node</span></code></a> class
-          template is meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">simple_associative_node_base</span></code> is more
-          suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
-          via the <a class="link" href="simple_assoc_node_gen.html" title="simple_associative_node_gen"><code class="computeroutput"><span class="identifier">simple_associative_node_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.definition"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/simple_associative_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.tpl_param"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Key</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The key type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Data</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">AssociativeContainerSelector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal map types whose mapped
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which associative_container_gen
-                    returns a valid container.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.model_of"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.public_bases"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="shared_tree_node_base.html" title="shared_tree_node_base"><code class="computeroutput"><span class="identifier">shared_tree_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_base.members"></a><a class="link" href="simple_assoc_node_base.html#tree_node.reference.simple_assoc_node_base.members" title="Members">Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Scope
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Key type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">simple_associative_node_base</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">simple_associative_node_base</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&)</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<const_child_iterator,const_child_iterator>
-                    find_children(typename traits::key_type const&) const;</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<child_iterator,child_iterator>
-                    find_children(typename traits::key_type const&);</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="simple_associative_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_assoc_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_assoc_node_gen.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_assoc_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,199 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>simple_associative_node_gen</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="simple_assoc_node_base.html" title="simple_associative_node_base">
-<link rel="next" href="with_child_range_access.html" title="with_child_range_access">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="simple_assoc_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_child_range_access.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen"></a><a class="link" href="simple_assoc_node_gen.html" title="simple_associative_node_gen"><code class="computeroutput"><span class="identifier">simple_associative_node_gen</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.synopsis"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mapS</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">simple_associative_node_gen</span>
-    <span class="special">{</span>
-        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span><span class="special">></span>
-        <span class="keyword">struct</span> <span class="identifier">apply</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">simple_associative_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span>
-                    <span class="identifier">type</span><span class="special">;</span>
-        <span class="special">};</span>
-    <span class="special">};</span>
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.description"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.definition"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/simple_associative_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.model_of"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.tpl_param"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types of <a class="link" href="simple_assoc_node_base.html" title="simple_associative_node_base"><code class="computeroutput"><span class="identifier">simple_associative_node_base</span></code></a>.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which associative_container_gen
-                    returns a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">mapS</span></code>
-                  </p>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.expressions"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.expressions" title="Expression Semantics">Expression
-        Semantics</a>
-</h4></div></div></div>
-<p>
-          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
-          that will inherit from <a class="link" href="simple_assoc_node_base.html" title="simple_associative_node_base"><code class="computeroutput"><span class="identifier">simple_associative_node_base</span></code></a>.
-          Let <code class="computeroutput"><span class="identifier">Key</span></code> be the key type.
-          Let <code class="computeroutput"><span class="identifier">Data</span></code> be the data type.
-          Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid
-          <code class="computeroutput"><span class="identifier">simple_associative_node_gen</span></code>
-          template argument.
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
-    <span class="identifier">simple_associative_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span>
-  <span class="special">,</span> <span class="identifier">Derived</span>
-  <span class="special">,</span> <span class="identifier">Key</span>
-  <span class="special">,</span> <span class="identifier">Data</span>
-<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="simple_assoc_node_base.html" title="simple_associative_node_base">simple_associative_node_base</a><Derived,Key,Data,Selector></code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_assoc_node_gen.complexity"></a><a class="link" href="simple_assoc_node_gen.html#tree_node.reference.simple_assoc_node_gen.complexity" title="Complexity">Complexity</a>
-</h4></div></div></div>
-<p>
-          Compile time.
-        </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 © 2011 Cromwell D. Enage<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="simple_assoc_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_child_range_access.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_associative_node.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_associative_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,717 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>simple_associative_node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_associative_node_gen.html" title="raw_associative_node_gen">
-<link rel="next" href="simple_assoc_node_base.html" title="simple_associative_node_base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_associative_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_assoc_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.simple_associative_node"></a><a class="link" href="simple_associative_node.html" title="simple_associative_node"><code class="computeroutput"><span class="identifier">simple_associative_node</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.synopsis"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span>
-        <span class="keyword">typename</span> <span class="identifier">Key</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Data</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">AssociativeContainerSelector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mapS</span>
-    <span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">simple_associative_node</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">simple_associative_node_base</span><span class="special"><</span>
-            <span class="identifier">simple_associative_node</span><span class="special"><</span><span class="identifier">Key</span><span class="special">,</span><span class="identifier">Data</span><span class="special">,</span><span class="identifier">AssociativeContainerSelector</span><span class="special">></span>
-          <span class="special">,</span> <span class="identifier">Key</span>
-          <span class="special">,</span> <span class="identifier">Data</span>
-          <span class="special">,</span> <span class="identifier">AssociativeContainerSelector</span>
-        <span class="special">></span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">simple_associative_node_base</span><span class="special"><</span>
-                    <span class="identifier">simple_associative_node</span>
-                  <span class="special">,</span> <span class="identifier">Key</span>
-                  <span class="special">,</span> <span class="identifier">Data</span>
-                  <span class="special">,</span> <span class="identifier">AssociativeContainerSelector</span>
-                <span class="special">></span>
-                <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span>
-                <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span>
-                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span>
-                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.description"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This class template is suitable for classes or algorithms that need to
-          map keys to child nodes in a tree node data structure that must be exposed
-          to external code. Objects of this type must be stored by <code class="computeroutput"><span class="identifier">simple_associative_node</span><span class="special">::</span><span class="identifier">pointer</span></code> and can only be instantiated
-          through the <a class="link" href="factory.html" title="factory"><code class="computeroutput"><span class="identifier">factory</span></code></a>
-          facade or the <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code>
-          method. Their children can be accessed by their associated keys for fast
-          lookup.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.definition"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/simple_associative_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.tpl_param"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Key</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of a key object to be associated with a child of a
-                    <code class="computeroutput"><span class="identifier">simple_associative_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Data</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">simple_associative_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">AssociativeContainerSelector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal map types whose mapped
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which associative_container_gen
-                    returns a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">mapS</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.model_of"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.public_bases"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="simple_assoc_node_base.html" title="simple_associative_node_base"><code class="computeroutput"><span class="identifier">simple_associative_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.members"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.members" title="Public Members">Public
-        Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Key type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&)</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">find_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<const_child_iterator,const_child_iterator>
-                    find_children(typename traits::key_type const&) const;</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child search range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<child_iterator,child_iterator>
-                    find_children(typename traits::key_type const&);</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">remove_children</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">key_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_associative_node.example"></a><a class="link" href="simple_associative_node.html#tree_node.reference.simple_associative_node.example" title="Example">Example</a>
-</h4></div></div></div>
-<p>
-          <example/simple_associative_node.cpp>
-        </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 © 2011 Cromwell D. Enage<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="raw_associative_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_assoc_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,568 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>simple_node</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="raw_node_gen.html" title="raw_node_gen">
-<link rel="next" href="simple_node_base.html" title="simple_node_base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="raw_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.simple_node"></a><a class="link" href="simple_node.html" title="simple_node"><code class="computeroutput"><span class="identifier">simple_node</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.synopsis"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dequeS</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">simple_node</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">simple_node_base</span><span class="special"><</span><span class="identifier">simple_node</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">simple_node_base</span><span class="special"><</span><span class="identifier">simple_node</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span> <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span> <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span> <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span> <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.description"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This class template is suitable for classes or algorithms that require
-          a tree node data structure that can handle an arbitrary number of children
-          and must be exposed to external code. Objects of this type must be stored
-          by <code class="computeroutput"><span class="identifier">simple_node</span><span class="special">::</span><span class="identifier">pointer</span></code> and can only be instantiated
-          through the <a class="link" href="factory.html" title="factory"><code class="computeroutput"><span class="identifier">factory</span></code></a>
-          facade or the <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code>
-          method.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.definition"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.definition" title="Where defined">Where defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/simple_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.tpl_param"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type of the object to be stored in a <code class="computeroutput"><span class="identifier">simple_node</span></code>.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types whose value
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which container_gen returns
-                    a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">dequeS</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.model_of"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.model_of" title="Model of">Model of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.public_bases"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="simple_node_base.html" title="simple_node_base"><code class="computeroutput"><span class="identifier">simple_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.members"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.members" title="Public Members">Public Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node.example"></a><a class="link" href="simple_node.html#tree_node.reference.simple_node.example" title="Example">Example</a>
-</h4></div></div></div>
-<p>
-          <example/simple_node.cpp>
-        </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 © 2011 Cromwell D. Enage<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="raw_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_node_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,751 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>simple_node_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="simple_node.html" title="simple_node">
-<link rel="next" href="simple_node_gen.html" title="simple_node_gen">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="simple_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.simple_node_base"></a><a class="link" href="simple_node_base.html" title="simple_node_base"><code class="computeroutput"><span class="identifier">simple_node_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.synopsis"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">simple_node_base</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">shared_tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span>
-      <span class="special">,</span> <span class="keyword">private</span> <span class="identifier">noncopyable</span>
-    <span class="special">{</span>
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">struct</span> <span class="identifier">traits</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">data_type</span><span class="special">;</span>
-        <span class="special">};</span>
-
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">shared_tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">shared_tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="comment">// implementation_defined
-</span>                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-
-     <span class="keyword">protected</span><span class="special">:</span>
-        <span class="identifier">simple_node_base</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">simple_node_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="special">~</span><span class="identifier">simple_node_base</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span>
-
-        <span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">();</span>
-
-        <span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">copy</span><span class="special">);</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span>
-
-        <span class="identifier">const_child_iterator</span> <span class="identifier">get_child_end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span>
-
-        <span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.description"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          The <a class="link" href="simple_node.html" title="simple_node"><code class="computeroutput"><span class="identifier">simple_node</span></code></a>
-          class template inherits its functionality from this class template. They
-          differ only with regard to template parameters: the <a class="link" href="simple_node.html" title="simple_node"><code class="computeroutput"><span class="identifier">simple_node</span></code></a> class template is
-          meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">simple_node_base</span></code>
-          is more suitable as a base class template from which <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
-          via the <a class="link" href="simple_node.html" title="simple_node"><code class="computeroutput"><span class="identifier">simple_node_gen</span></code></a>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.definition"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/simple_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.tpl_param"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types whose value
-                    types are the same as the pointer type.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which container_gen returns
-                    a valid container.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.model_of"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
-<span class="special">*</span> <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.public_bases"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="shared_tree_node_base.html" title="shared_tree_node_base"><code class="computeroutput"><span class="identifier">shared_tree_node_base</span></code></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_base.members"></a><a class="link" href="simple_node_base.html#tree_node.reference.simple_node_base.members" title="Members">Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Scope
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Where defined
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Data type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">simple_node_base</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">simple_node_base</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Clone
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span>
-                    <span class="keyword">const</span><span class="special">&</span>
-                    <span class="identifier">get_data</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Data access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span><span class="special">&</span> <span class="identifier">get_data</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_parent</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Parent access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_parent</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child copy creation
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">add_child_copy</span><span class="special">(</span><span class="identifier">const_pointer</span>
-                    <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/nary_tree_node.html" title="N-ary Tree Node"><span class="bold"><strong>N-ary
-                    Tree Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_begin</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range begin access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_begin</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span>
-                    <span class="identifier">get_child_end</span><span class="special">()</span>
-                    <span class="keyword">const</span><span class="special">;</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Children range past-the-end access
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span> <span class="identifier">get_child_end</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Remove all children
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">remove_all_children</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-                    Node</strong></span></a>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="simple_node.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="simple_node_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node_gen.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/simple_node_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,188 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>simple_node_gen</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="simple_node_base.html" title="simple_node_base">
-<link rel="next" href="raw_associative_node.html" title="raw_associative_node">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="simple_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_associative_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.simple_node_gen"></a><a class="link" href="simple_node_gen.html" title="simple_node_gen"><code class="computeroutput"><span class="identifier">simple_node_gen</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_gen.synopsis"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dequeS</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">simple_node_gen</span>
-    <span class="special">{</span>
-        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-        <span class="keyword">struct</span> <span class="identifier">apply</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">simple_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Selector</span><span class="special">></span> <span class="identifier">type</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="tree_node.reference.simple_node_gen.description"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            This component depends on Boost.Utility.ContainerGen, which is not
-            yet a part of Boost. For now, you must perform a Subversion checkout
-            from the SVN Trac.
-          </p></td></tr>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_gen.definition"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/simple_node.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_gen.model_of"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_gen.tpl_param"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Selector</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The type that determines the internal container types of <a class="link" href="simple_node_base.html" title="simple_node_base"><code class="computeroutput"><span class="identifier">simple_node_base</span></code></a>.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must be a type for which container_gen returns
-                    a valid container.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">dequeS</span></code>
-                  </p>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_gen.expressions"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.expressions" title="Expression Semantics">Expression
-        Semantics</a>
-</h4></div></div></div>
-<p>
-          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
-          that will inherit from <a class="link" href="simple_node_base.html" title="simple_node_base"><code class="computeroutput"><span class="identifier">simple_node_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">T</span></code> be the data type. Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid <code class="computeroutput"><span class="identifier">simple_node_gen</span></code>
-          template argument.
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span><span class="identifier">simple_node_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">>,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="simple_node_base.html" title="simple_node_base">simple_node_base</a><Derived,T,Selector></code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.simple_node_gen.complexity"></a><a class="link" href="simple_node_gen.html#tree_node.reference.simple_node_gen.complexity" title="Complexity">Complexity</a>
-</h4></div></div></div>
-<p>
-          Compile time.
-        </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 © 2011 Cromwell D. Enage<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="simple_node_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="raw_associative_node.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/strict_lexicograph_comp.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/strict_lexicograph_comp.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>lexicographical_compare()</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="lexicographical_compare.html" title="lexicographical_compare()">
+<link rel="next" href="../changelog.html" title="Changelog">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lexicographical_compare.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../changelog.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.strict_lexicograph_comp"></a><a class="link" href="strict_lexicograph_comp.html" title="lexicographical_compare()"><code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">()</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.strict_lexicograph_comp.synopsis"></a><a class="link" href="strict_lexicograph_comp.html#tree_node.reference.strict_lexicograph_comp.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Iterator1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">KeyCompare</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueCompare</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="identifier">strict_lexicographical_compare</span><span class="special">(</span>
+            <span class="identifier">Iterator1</span> <span class="identifier">itr1</span>
+          <span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span>
+          <span class="special">,</span> <span class="identifier">KeyCompare</span> <span class="identifier">key_comp</span>
+          <span class="special">,</span> <span class="identifier">ValueCompare</span> <span class="identifier">value_comp</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BinaryPredicate</span><span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="identifier">strict_lexicographical_compare</span><span class="special">(</span>
+            <span class="identifier">Iterator1</span> <span class="identifier">itr1</span>
+          <span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span>
+          <span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">comp</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">></span>
+    <span class="keyword">bool</span> <span class="identifier">strict_lexicographical_compare</span><span class="special">(</span><span class="identifier">Iterator1</span> <span class="identifier">itr1</span><span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.strict_lexicograph_comp.description"></a><a class="link" href="strict_lexicograph_comp.html#tree_node.reference.strict_lexicograph_comp.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.strict_lexicograph_comp.definition"></a><a class="link" href="strict_lexicograph_comp.html#tree_node.reference.strict_lexicograph_comp.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/algorithm/lexicographical_compare.hpp<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 © 2011 -2012 Cromwell D. Enage<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="lexicographical_compare.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../changelog.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/strictly_equal.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/strictly_equal.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>strictly_equal()</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="equal.html" title="equal()">
+<link rel="next" href="lexicographical_compare.html" title="lexicographical_compare()">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="lexicographical_compare.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.strictly_equal"></a><a class="link" href="strictly_equal.html" title="strictly_equal()"><code class="computeroutput"><span class="identifier">strictly_equal</span><span class="special">()</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.strictly_equal.synopsis"></a><a class="link" href="strictly_equal.html#tree_node.reference.strictly_equal.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span>
+        <span class="keyword">typename</span> <span class="identifier">Iterator1</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">KeyCompare</span>
+      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueCompare</span>
+    <span class="special">></span>
+    <span class="keyword">bool</span>
+        <span class="identifier">strictly_equal</span><span class="special">(</span>
+            <span class="identifier">Iterator1</span> <span class="identifier">itr1</span>
+          <span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span>
+          <span class="special">,</span> <span class="identifier">KeyCompare</span> <span class="identifier">key_comp</span>
+          <span class="special">,</span> <span class="identifier">ValueCompare</span> <span class="identifier">value_comp</span>
+        <span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BinaryPredicate</span><span class="special">></span>
+    <span class="keyword">bool</span> <span class="identifier">strictly_equal</span><span class="special">(</span><span class="identifier">Iterator1</span> <span class="identifier">itr1</span><span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">comp</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iterator2</span><span class="special">></span>
+    <span class="keyword">bool</span> <span class="identifier">strictly_equal</span><span class="special">(</span><span class="identifier">Iterator1</span> <span class="identifier">itr1</span><span class="special">,</span> <span class="identifier">Iterator2</span> <span class="identifier">itr2</span><span class="special">);</span>
+
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.strictly_equal.description"></a><a class="link" href="strictly_equal.html#tree_node.reference.strictly_equal.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.strictly_equal.definition"></a><a class="link" href="strictly_equal.html#tree_node.reference.strictly_equal.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/algorithm/equal.hpp<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 © 2011 -2012 Cromwell D. Enage<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="equal.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="lexicographical_compare.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/traversal_state.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/traversal_state.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>traversal_state</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="depth_first_desc_iter.html" title="depth_first_descendant_iterator<Node>">
+<link rel="next" href="dereference_iterator.html" title="dereference_iterator()">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="depth_first_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="dereference_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.traversal_state"></a><a class="link" href="traversal_state.html" title="traversal_state"><code class="computeroutput"><span class="identifier">traversal_state</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.traversal_state.synopsis"></a><a class="link" href="traversal_state.html#tree_node.reference.traversal_state.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">enum</span> <span class="identifier">traversal_state</span>
+    <span class="special">{</span>
+        <span class="identifier">no_traversal</span>
+      <span class="special">,</span> <span class="identifier">pre_order_traversal</span>
+      <span class="special">,</span> <span class="identifier">post_order_traversal</span>
+      <span class="special">,</span> <span class="identifier">breadth_first_traversal</span>
+      <span class="special">,</span> <span class="identifier">in_order_traversal</span>
+    <span class="special">};</span>
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.traversal_state.description"></a><a class="link" href="traversal_state.html#tree_node.reference.traversal_state.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This enumeration type is the return type of the dereferenceability expression
+          defined by each iterator type that this library provides. The <code class="computeroutput"><span class="identifier">no_traversal</span></code> value corresponds to <code class="computeroutput"><span class="keyword">false</span></code> in a boolean context, enabling the
+          iterator types to fulfill their runtime requirements for dereferenceability.
+          The <code class="computeroutput"><span class="identifier">pre_order_traversal</span></code>
+          and <code class="computeroutput"><span class="identifier">post_order_traversal</span></code>
+          values are significant because the <a class="link" href="depth_first_iterator.html" title="depth_first_iterator<Node>"><code class="computeroutput"><span class="identifier">depth_first_iterator</span></code></a> traverses
+          each node twice, so algorithms must be able to distinguish which state
+          the iterator is in when it traverses a tree node. The <code class="computeroutput"><span class="identifier">breadth_first_traversal</span></code>
+          and <code class="computeroutput"><span class="identifier">in_order_traversal</span></code>
+          values are defined for completeness.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.traversal_state.definition"></a><a class="link" href="traversal_state.html#tree_node.reference.traversal_state.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/traversal_state.hpp<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 © 2011 -2012 Cromwell D. Enage<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="depth_first_desc_iter.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="dereference_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/tree_node_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/tree_node_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,456 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>tree_node_base<Derived></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_red_black_flag_gen.html" title="with_red_black_flag_gen<BaseGenerator>">
+<link rel="next" href="breadth_first_iterator.html" title="breadth_first_iterator<Node>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_red_black_flag_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="breadth_first_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.tree_node_base"></a><a class="link" href="tree_node_base.html" title="tree_node_base<Derived>"><code class="computeroutput"><span class="identifier">tree_node_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.tree_node_base.description"></a><a class="link" href="tree_node_base.html#tree_node.reference.tree_node_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.tree_node_base.definition"></a><a class="link" href="tree_node_base.html#tree_node.reference.tree_node_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/base.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.tree_node_base.tpl_param"></a><a class="link" href="tree_node_base.html#tree_node.reference.tree_node_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.tree_node_base.public_bases"></a><a class="link" href="tree_node_base.html#tree_node.reference.tree_node_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          None.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.tree_node_base.members"></a><a class="link" href="tree_node_base.html#tree_node.reference.tree_node_base.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Scope
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Pointer type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">typedef</span> <span class="identifier">Derived</span><span class="special">*</span> <span class="identifier">pointer</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">public</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Pointer-to-const type
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">typedef</span> <span class="identifier">Derived</span>
+                    <span class="keyword">const</span><span class="special">*</span>
+                    <span class="identifier">const_pointer</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">public</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">const_pointer</span> <span class="identifier">get_derived</span><span class="special">()</span>
+                    <span class="keyword">const</span><span class="special">;</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">public</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="keyword">this</span></code> as
+                    the derived type.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Derived access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">pointer</span> <span class="identifier">get_derived</span><span class="special">();</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">public</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="keyword">this</span></code> as
+                    the derived type.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Shallow update implementation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">shallow_update_impl</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should override this method if they hold data
+                    that will change if the tree node and its children are structurally
+                    modified. Does nothing by default.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Shallow update
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">shallow_update_derived</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should invoke this method after the tree node
+                    and its children are structurally modified. Calls the corresponding
+                    implementation method.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Deep update implementation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">deep_update_impl</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should override this method if they hold data
+                    that will change if the tree node and all its descendants (not
+                    just its children) are structurally modified. Does nothing by
+                    default.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Deep update
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">deep_update_derived</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should invoke this method after the tree node
+                    and all its descendants (not just its children) are structurally
+                    modified. Calls the corresponding implementation method.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position update implementation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">set_position_impl</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should override this method if they store iterators
+                    that will remain valid even if any of the siblings of the pointees
+                    are removed. The overriding implementation should simply store
+                    the specified position. Does nothing by default.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position update implementation
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">set_position_impl</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should override this method if they store iterators
+                    that may become invalidated if any of the siblings of the pointees
+                    are removed. The overriding implementation should validate the
+                    positions of the siblings as well as its own. Does nothing by
+                    default.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position update
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BooleanIntegralConstant</span><span class="special">></span>
+<span class="keyword">void</span>
+    <span class="identifier">set_position_derived</span><span class="special">(</span>
+        <span class="identifier">Iterator</span> <span class="identifier">position</span>
+      <span class="special">,</span> <span class="identifier">BooleanIntegralConstant</span> <span class="identifier">invalidates_sibling_positions</span>
+    <span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">protected</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Subclass types should invoke this method on their child nodes
+                    after they are stored, or on the siblings of those child nodes
+                    after they are removed. Calls the corresponding implementation
+                    method.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></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 © 2011 -2012 Cromwell D. Enage<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="with_red_black_flag_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="breadth_first_iterator.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_acc_base.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_acc_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,492 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>with_child_range_access_base</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="with_child_range_access.html" title="with_child_range_access">
-<link rel="next" href="with_child_range_acc_gen.html" title="with_child_range_access_gen">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="with_child_range_access.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_child_range_acc_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.with_child_range_acc_base"></a><a class="link" href="with_child_range_acc_base.html" title="with_child_range_access_base"><code class="computeroutput"><span class="identifier">with_child_range_access_base</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.synopsis"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span>
-        <span class="keyword">typename</span> <span class="identifier">Derived</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BaseGenerator</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span>
-      <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span>
-    <span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">with_child_range_access_base</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if</span><span class="special"><</span>
-            <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T2</span><span class="special">></span>
-          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap2</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span>
-          <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap3</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
-        <span class="special">>::</span><span class="identifier">type</span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if</span><span class="special"><</span>
-                    <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T2</span><span class="special">></span>
-                  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap2</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span>
-                  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap3</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
-                <span class="special">>::</span><span class="identifier">type</span>
-                <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span> <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span> <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span> <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span> <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-     <span class="keyword">protected</span><span class="special">:</span>
-        <span class="identifier">with_child_range_access_base</span><span class="special">();</span>
-
-        <span class="keyword">explicit</span> <span class="identifier">with_child_range_access_base</span><span class="special">(</span>
-            <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
-        <span class="special">);</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">const_child_iterator</span><span class="special">,</span><span class="identifier">const_child_iterator</span><span class="special">></span>
-            <span class="identifier">get_children</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-        <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span><span class="identifier">child_iterator</span><span class="special">,</span><span class="identifier">child_iterator</span><span class="special">></span>
-            <span class="identifier">get_children</span><span class="special">();</span>
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.description"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          The <a class="link" href="with_child_range_access.html" title="with_child_range_access"><code class="computeroutput"><span class="identifier">with_child_range_access</span></code></a> class
-          template inherits its functionality from this class template. They differ
-          only with regard to template parameters: the <a class="link" href="with_child_range_access.html" title="with_child_range_access"><code class="computeroutput"><span class="identifier">with_child_range_access</span></code></a> class
-          template is meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">with_child_range_access_base</span></code> is more
-          suitable as a base class template from which other <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
-          via the <a class="link" href="with_child_range_acc_gen.html" title="with_child_range_access_gen"><code class="computeroutput"><span class="identifier">with_child_range_access_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.definition"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_child_range_access.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.tpl_param"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">Derived</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The most descendant type that will inherit from this one.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The Metafunction Class from whose
-                    return type <code class="computeroutput"><span class="identifier">with_child_range_access_base</span></code>
-                    will inherit.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T1</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
-                    is specified; the data type otherwise.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T2</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type if specified; ignored otherwise.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.model_of"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="identifier">specified</span><span class="special">;</span>
-  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
-<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
-<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.public_bases"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          <code class="literal">boost::mpl::apply_wrap3<BaseGenerator,Derived,T1,T2>::type</code>
-          if <code class="computeroutput"><span class="identifier">T2</span></code> is specified; otherwise
-          <code class="literal">boost::mpl::apply_wrap2<BaseGenerator,Derived,T1>::type</code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_base.members"></a><a class="link" href="with_child_range_acc_base.html#tree_node.reference.with_child_range_acc_base.members" title="Members">Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Scope
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Traits type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">traits</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Same as the traits type of the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Default constructor
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">with_child_range_access_base</span><span class="special">();</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Constructor with data
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">with_child_range_access_base</span><span class="special">(</span><span class="keyword">typename</span>
-                    <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&);</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">protected</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<const_child_iterator,const_child_iterator>
-                    get_children() const;</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Returns a Boost.Range over all its child
-                    nodes.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<child_iterator,child_iterator>
-                    get_children();</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">public</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Returns a Boost.Range over all its child
-                    nodes.
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="with_child_range_access.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_child_range_acc_gen.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_acc_gen.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_acc_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,200 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>with_child_range_access_gen</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="with_child_range_acc_base.html" title="with_child_range_access_base">
-<link rel="next" href="with_depth.html" title="with_depth">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="with_child_range_acc_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen"></a><a class="link" href="with_child_range_acc_gen.html" title="with_child_range_access_gen"><code class="computeroutput"><span class="identifier">with_child_range_access_gen</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.synopsis"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">BaseGenerator</span><span class="special">></span>
-    <span class="keyword">struct</span> <span class="identifier">with_child_range_access_gen</span>
-    <span class="special">{</span>
-        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
-        <span class="keyword">struct</span> <span class="identifier">apply</span>
-        <span class="special">{</span>
-            <span class="keyword">typedef</span> <span class="identifier">with_child_range_access_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
-                    <span class="identifier">type</span><span class="special">;</span>
-        <span class="special">};</span>
-    <span class="special">};</span>
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.description"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          TODO.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.definition"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_child_range_access.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.model_of"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<p>
-          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
-          Generator</strong></span></a>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.tpl_param"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody><tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The Metafunction Class from whose
-                    return type <a class="link" href="with_child_range_acc_base.html" title="with_child_range_access_base"><code class="computeroutput"><span class="identifier">with_child_range_access_base</span></code></a>
-                    will inherit.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.expressions"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.expressions" title="Expression Semantics">Expression
-        Semantics</a>
-</h4></div></div></div>
-<p>
-          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
-          that will inherit from <a class="link" href="with_child_range_acc_base.html" title="with_child_range_access_base"><code class="computeroutput"><span class="identifier">with_child_range_access_base</span></code></a>.
-          Let <code class="computeroutput"><span class="identifier">Key</span></code> be the key type.
-          Let <code class="computeroutput"><span class="identifier">Data</span></code> be the data type.
-          Let <code class="computeroutput"><span class="identifier">Selector</span></code> be a valid
-          <code class="computeroutput"><span class="identifier">with_child_range_access_gen</span></code>
-          template argument.
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
-    <span class="identifier">with_child_range_access_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span>
-  <span class="special">,</span> <span class="identifier">Derived</span>
-  <span class="special">,</span> <span class="identifier">Key</span>
-  <span class="special">,</span> <span class="identifier">Data</span>
-<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_child_range_acc_base.html" title="with_child_range_access_base">with_child_range_access_base</a><Derived,BaseGenerator,Key,Data></code>
-        </p>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span>
-    <span class="identifier">with_child_range_access_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span>
-  <span class="special">,</span> <span class="identifier">Derived</span>
-  <span class="special">,</span> <span class="identifier">Data</span>
-<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
-</pre>
-<p>
-        </p>
-<p>
-          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_child_range_acc_base.html" title="with_child_range_access_base">with_child_range_access_base</a><Derived,BaseGenerator,Data></code>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_acc_gen.complexity"></a><a class="link" href="with_child_range_acc_gen.html#tree_node.reference.with_child_range_acc_gen.complexity" title="Complexity">Complexity</a>
-</h4></div></div></div>
-<p>
-          Compile time.
-        </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 © 2011 Cromwell D. Enage<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="with_child_range_acc_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Deleted: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_access.html
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_child_range_access.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,377 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>with_child_range_access</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.2">
-<link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="simple_assoc_node_gen.html" title="simple_associative_node_gen">
-<link rel="next" href="with_child_range_acc_base.html" title="with_child_range_access_base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="simple_assoc_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_child_range_acc_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="tree_node.reference.with_child_range_access"></a><a class="link" href="with_child_range_access.html" title="with_child_range_access"><code class="computeroutput"><span class="identifier">with_child_range_access</span></code></a>
-</h3></div></div></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.synopsis"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.synopsis" title="Synopsis">Synopsis</a>
-</h4></div></div></div>
-<p>
-          
-</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">tree_node</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">BaseGenerator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">with_child_range_access</span>
-      <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">with_child_range_access_base</span><span class="special"><</span>
-            <span class="identifier">with_child_range_access</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
-          <span class="special">,</span> <span class="identifier">BaseGenerator</span>
-          <span class="special">,</span> <span class="identifier">T1</span>
-          <span class="special">,</span> <span class="identifier">T2</span>
-        <span class="special">></span>
-    <span class="special">{</span>
-        <span class="keyword">typedef</span> <span class="identifier">with_child_range_access_base</span><span class="special"><</span>
-                    <span class="identifier">with_child_range_access</span>
-                  <span class="special">,</span> <span class="identifier">BaseGenerator</span>
-                  <span class="special">,</span> <span class="identifier">T1</span>
-                  <span class="special">,</span> <span class="identifier">T2</span>
-                <span class="special">></span>
-                <span class="identifier">super_t</span><span class="special">;</span>
-
-     <span class="keyword">public</span><span class="special">:</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">traits</span>
-                <span class="identifier">traits</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">pointer</span>
-                <span class="identifier">pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_pointer</span>
-                <span class="identifier">const_pointer</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">child_iterator</span>
-                <span class="identifier">child_iterator</span><span class="special">;</span>
-        <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">super_t</span><span class="special">::</span><span class="identifier">const_child_iterator</span>
-                <span class="identifier">const_child_iterator</span><span class="special">;</span>
-
-    <span class="special">};</span>
-
-<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
-</span></pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.description"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.description" title="Description">Description</a>
-</h4></div></div></div>
-<p>
-          This <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
-          Node</strong></span></a> adaptor provides Boost.Range access to its child nodes as
-          well as the other operations it inherits. Objects of this type must be
-          stored by <code class="computeroutput"><span class="identifier">with_child_range_access</span><span class="special">::</span><span class="identifier">pointer</span></code>
-          and can only be instantiated through the <a class="link" href="factory.html" title="factory"><code class="computeroutput"><span class="identifier">factory</span></code></a> facade or the <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code>
-          method if the base type models the <a class="link" href="../concepts/cloneable_tree_node.html" title="Cloneable Tree Node"><span class="bold"><strong>Cloneable Tree Node</strong></span></a> concept.
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.definition"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.definition" title="Where defined">Where
-        defined</a>
-</h4></div></div></div>
-<p>
-          
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_child_range_access.hpp<span class="special">></span>
-</pre>
-<p>
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.tpl_param"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.tpl_param" title="Template Parameters">Template
-        Parameters</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Parameter
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Requirements
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Default
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The Metafunction Class from whose
-                    return type <code class="computeroutput"><span class="identifier">with_child_range_access</span></code>
-                    will ultimately inherit.
-                  </p>
-                </td>
-<td>
-                  <p>
-                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
-                  </p>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T1</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
-                    is specified; the data type otherwise.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">T2</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The data type if specified; ignored otherwise.
-                  </p>
-                </td>
-<td>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="keyword">void</span></code>
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.model_of"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.model_of" title="Model of">Model
-        of</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="identifier">specified</span><span class="special">;</span>
-  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
-<span class="special">*</span> <a class="link" href="../concepts/factory_constructible.html" title="Factory-Constructible Tree Node"><span class="bold"><strong>Factory-Constructible Tree Node</strong></span></a>
-<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.public_bases"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.public_bases" title="Public Base Classes">Public
-        Base Classes</a>
-</h4></div></div></div>
-<p>
-          __with_child_range_access<span class="underline">base</span>_
-        </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="tree_node.reference.with_child_range_access.members"></a><a class="link" href="with_child_range_access.html#tree_node.reference.with_child_range_access.members" title="Public Members">Public
-        Members</a>
-</h4></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Expression
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Traits type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">traits</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Same as the traits type of the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Pointer-to-const type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_pointer</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Immutable child iterator type
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="computeroutput"><span class="identifier">const_child_iterator</span></code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Defined by the <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> concept.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<const_child_iterator,const_child_iterator>
-                    get_children() const;</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Returns a Boost.Range over all its child
-                    nodes.
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Child range
-                  </p>
-                </td>
-<td>
-                  <p>
-                    <code class="literal">std::pair<child_iterator,child_iterator>
-                    get_children();</code>
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Returns a Boost.Range over all its child
-                    nodes.
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></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 © 2011 Cromwell D. Enage<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="simple_assoc_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_child_range_acc_base.html"><img src="../../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,383 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_depth<BaseGenerator,T1,T2,Depth></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="associative_node_gen.html" title="associative_node_gen<Selector>">
+<link rel="next" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="associative_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_depth"></a><a class="link" href="with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Depth</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.description"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <span class="bold"><strong>depth</strong></span> of a tree node can be defined
+          as the magnitude of the difference between its ply and that of its deepest
+          descendant. In addition to the operations it inherits from the return type
+          of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>, this
+          <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+          Node</strong></span></a> adaptor provides constant-time access to the depth
+          of the node by updating this information after structural modifications
+          have been performed.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.definition"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.definition" title="Where defined">Where defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_depth.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.tpl_param"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <code class="computeroutput"><span class="identifier">with_depth</span></code>
+                    will ultimately inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T1</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
+                    is not <code class="computeroutput"><span class="keyword">void</span></code>; the
+                    data type otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T2</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type if not <code class="computeroutput"><span class="keyword">void</span></code>;
+                    ignored otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Depth</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The depth type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.model_of"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.model_of" title="Model of">Model of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="keyword">not</span> <span class="error">`</span><span class="keyword">void</span><span class="error">`</span><span class="special">;</span>
+  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
+<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.public_bases"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">with_depth_base</span><span class="special"><</span>
+    <span class="identifier">with_depth</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Depth</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">BaseGenerator</span>
+  <span class="special">,</span> <span class="identifier">T1</span>
+  <span class="special">,</span> <span class="identifier">T2</span>
+  <span class="special">,</span> <span class="identifier">Depth</span>
+<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.members"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.members" title="Public Members">Public Members</a>
+</h4></div></div></div>
+<p>
+          In addition to those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>,
+          the following members are defined:
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">with_depth</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">with_depth</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth</span><span class="special">(</span><span class="identifier">with_depth</span> <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth</span><span class="special">(</span><span class="identifier">with_depth</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth</span><span class="special">&</span>
+                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_depth</span> <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth</span><span class="special">&</span>
+                    <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_depth</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Depth access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">Depth</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_depth</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the depth of this tree node.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth.non_members"></a><a class="link" href="with_depth.html#tree_node.reference.with_depth.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </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 © 2011 -2012 Cromwell D. Enage<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="associative_node_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,392 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_depth_base<Derived,BaseGenerator,T1,T2,Depth></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>">
+<link rel="next" href="with_depth_gen.html" title="with_depth_gen<BaseGenerator>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_depth.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_depth_base"></a><a class="link" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Depth</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.description"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <a class="link" href="with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth</span></code></a>
+          class template inherits its functionality from this class template. They
+          differ only with regard to template parameters: the <a class="link" href="with_depth.html" title="with_depth<BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth</span></code></a> class template is meant
+          to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">with_depth_base</span></code>
+          is more suitable as a base class template from which other <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
+          via the <a class="link" href="with_depth_gen.html" title="with_depth_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_depth_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.definition"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_depth.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.tpl_param"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <code class="computeroutput"><span class="identifier">with_depth_base</span></code>
+                    will inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T1</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
+                    is not <code class="computeroutput"><span class="keyword">void</span></code>; the
+                    data type otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T2</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type if not <code class="computeroutput"><span class="keyword">void</span></code>;
+                    ignored otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Depth</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The depth type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.model_of"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="keyword">not</span> <span class="error">`</span><span class="keyword">void</span><span class="error">`</span><span class="special">;</span>
+  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
+<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.public_bases"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if</span><span class="special"><</span>
+    <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T2</span><span class="special">></span>
+  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap2</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span>
+  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap3</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
+<span class="special">>::</span><span class="identifier">type</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.members"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.members" title="Members">Members</a>
+</h4></div></div></div>
+<p>
+          In addition to those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>,
+          the following members are defined:
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">with_depth_base</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">with_depth_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth_base</span><span class="special">(</span><span class="identifier">with_depth_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth_base</span><span class="special">(</span><span class="identifier">with_depth_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_depth_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_depth_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_depth_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Depth access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">Depth</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">get_depth</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the depth of this tree node.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_base.non_members"></a><a class="link" href="with_depth_base.html#tree_node.reference.with_depth_base.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_depth.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_depth_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth_gen.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_depth_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,218 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_depth_gen<BaseGenerator></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>">
+<link rel="next" href="with_position.html" title="with_position<BaseGenerator,T1,T2>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_depth_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_position.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_depth_gen"></a><a class="link" href="with_depth_gen.html" title="with_depth_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_depth_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.synopsis"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">BaseGenerator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Depth</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">with_depth_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="keyword">typedef</span> <span class="identifier">with_depth_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">,</span><span class="identifier">Depth</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+        <span class="special">};</span>
+    <span class="special">};</span>
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.description"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.definition"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_depth.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.model_of"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.tpl_param"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <a class="link" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth_base</span></code></a> will
+                    inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Depth</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The depth type.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.expressions"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.expressions" title="Expression Semantics">Expression
+        Semantics</a>
+</h4></div></div></div>
+<p>
+          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
+          that will inherit from <a class="link" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>"><code class="computeroutput"><span class="identifier">with_depth_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">Key</span></code> be the key type. Let <code class="computeroutput"><span class="identifier">Data</span></code> be the data type. Let <code class="computeroutput"><span class="identifier">BaseGenerator</span></code> be a valid first template
+          argument for <code class="computeroutput"><span class="identifier">with_depth_gen</span></code>.
+          Let <code class="computeroutput"><span class="identifier">Depth</span></code> be the depth
+          type.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
+    <span class="identifier">with_depth_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Depth</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Key</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>">with_depth_base</a><Derived,BaseGenerator,Key,Data,Depth></code>
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span>
+    <span class="identifier">with_depth_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Depth</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_depth_base.html" title="with_depth_base<Derived,BaseGenerator,T1,T2,Depth>">with_depth_base</a><Derived,BaseGenerator,Data,void,Depth></code>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_depth_gen.complexity"></a><a class="link" href="with_depth_gen.html#tree_node.reference.with_depth_gen.complexity" title="Complexity">Complexity</a>
+</h4></div></div></div>
+<p>
+          Compile time.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_depth_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_position.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,379 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_position<BaseGenerator,T1,T2></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_depth_gen.html" title="with_depth_gen<BaseGenerator>">
+<link rel="next" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_depth_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_position_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_position"></a><a class="link" href="with_position.html" title="with_position<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.description"></a><a class="link" href="with_position.html#tree_node.reference.with_position.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree
+          Node</strong></span></a> adaptor provides access to its position in its parent's
+          range of children as well as the other operations it inherits from the
+          return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.definition"></a><a class="link" href="with_position.html#tree_node.reference.with_position.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_position.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.tpl_param"></a><a class="link" href="with_position.html#tree_node.reference.with_position.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <code class="computeroutput"><span class="identifier">with_position</span></code>
+                    will ultimately inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T1</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
+                    is specified; the data type otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T2</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type if specified; ignored otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.model_of"></a><a class="link" href="with_position.html#tree_node.reference.with_position.model_of" title="Model of">Model of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="identifier">specified</span><span class="special">;</span>
+  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
+<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.public_bases"></a><a class="link" href="with_position.html#tree_node.reference.with_position.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">with_position_base</span><span class="special"><</span>
+    <span class="identifier">with_position</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">BaseGenerator</span>
+  <span class="special">,</span> <span class="identifier">T1</span>
+  <span class="special">,</span> <span class="identifier">T2</span>
+<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.members"></a><a class="link" href="with_position.html#tree_node.reference.with_position.members" title="Public Members">Public Members</a>
+</h4></div></div></div>
+<p>
+          In addition to those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>,
+          the following members are defined:
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">with_position</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">with_position</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position</span><span class="special">(</span><span class="identifier">with_position</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position</span><span class="special">(</span><span class="identifier">with_position</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_position</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_position</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">get_position</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the immutable iterator that points to this tree node.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">get_position</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the iterator that points to this tree node.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position.non_members"></a><a class="link" href="with_position.html#tree_node.reference.with_position.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_depth_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_position_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,398 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_position_base<Derived,BaseGenerator,T1,T2></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_position.html" title="with_position<BaseGenerator,T1,T2>">
+<link rel="next" href="with_position_gen.html" title="with_position_gen<BaseGenerator>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_position.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_position_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_position_base"></a><a class="link" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.description"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <a class="link" href="with_position.html" title="with_position<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position</span></code></a>
+          class template inherits its functionality from this class template. They
+          differ only with regard to template parameters: the <a class="link" href="with_position.html" title="with_position<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position</span></code></a> class template is
+          meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">with_position_base</span></code>
+          is more suitable as a base class template from which other <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
+          via the <a class="link" href="with_position_gen.html" title="with_position_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_position_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.definition"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_position.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.tpl_param"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <code class="computeroutput"><span class="identifier">with_position_base</span></code>
+                    will inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T1</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
+                    is specified; the data type otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T2</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type if specified; ignored otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.model_of"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="identifier">specified</span><span class="special">;</span>
+  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
+<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.public_bases"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if</span><span class="special"><</span>
+    <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T2</span><span class="special">></span>
+  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap2</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span>
+  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap3</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
+<span class="special">>::</span><span class="identifier">type</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.members"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.members" title="Members">Members</a>
+</h4></div></div></div>
+<p>
+          In addition to those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>,
+          the following members are defined:
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">with_position_base</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">with_position_base</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position_base</span><span class="special">(</span><span class="identifier">with_position_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position_base</span><span class="special">(</span><span class="identifier">with_position_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_position_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_position_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_position_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">const_iterator</span> <span class="identifier">get_position</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the immutable iterator that points to this tree node.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Position access
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">iterator</span> <span class="identifier">get_position</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns the iterator that points to this tree node.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_base.non_members"></a><a class="link" href="with_position_base.html#tree_node.reference.with_position_base.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_position.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_position_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position_gen.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_position_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,171 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_position_gen<BaseGenerator></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>">
+<link rel="next" href="with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_position_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_rb_flag.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_position_gen"></a><a class="link" href="with_position_gen.html" title="with_position_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_position_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_gen.description"></a><a class="link" href="with_position_gen.html#tree_node.reference.with_position_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_gen.definition"></a><a class="link" href="with_position_gen.html#tree_node.reference.with_position_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_position.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_gen.model_of"></a><a class="link" href="with_position_gen.html#tree_node.reference.with_position_gen.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_gen.tpl_param"></a><a class="link" href="with_position_gen.html#tree_node.reference.with_position_gen.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <a class="link" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position_base</span></code></a> will
+                    inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_gen.expressions"></a><a class="link" href="with_position_gen.html#tree_node.reference.with_position_gen.expressions" title="Expression Semantics">Expression
+        Semantics</a>
+</h4></div></div></div>
+<p>
+          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
+          that will inherit from <a class="link" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_position_base</span></code></a>. Let <code class="computeroutput"><span class="identifier">Key</span></code> be the key type. Let <code class="computeroutput"><span class="identifier">Data</span></code> be the data type. Let <code class="computeroutput"><span class="identifier">BaseGenerator</span></code> be a valid <code class="computeroutput"><span class="identifier">with_position_gen</span></code> template argument.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
+    <span class="identifier">with_position_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Key</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>">with_position_base</a><Derived,BaseGenerator,Key,Data></code>
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span>
+    <span class="identifier">with_position_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_position_base.html" title="with_position_base<Derived,BaseGenerator,T1,T2>">with_position_base</a><Derived,BaseGenerator,Data></code>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_position_gen.complexity"></a><a class="link" href="with_position_gen.html#tree_node.reference.with_position_gen.complexity" title="Complexity">Complexity</a>
+</h4></div></div></div>
+<p>
+          Compile time.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_position_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_rb_flag.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_rb_flag.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_rb_flag.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,405 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_red_black_flag<BaseGenerator,T1,T2></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_position_gen.html" title="with_position_gen<BaseGenerator>">
+<link rel="next" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_position_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_rb_flag_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_rb_flag"></a><a class="link" href="with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.description"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          In addition to the other operations it inherits from the return type of
+          <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>, this <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a>
+          adaptor provides access to a flag that indicates whether the node is red
+          or black.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.definition"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_red_black_flag.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.tpl_param"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <code class="computeroutput"><span class="identifier">with_position</span></code>
+                    will ultimately inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T1</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
+                    is specified; the data type otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T2</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type if specified; ignored otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.model_of"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.model_of" title="Model of">Model of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="identifier">specified</span><span class="special">;</span>
+  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
+<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.public_bases"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="identifier">with_red_black_flag_base</span><span class="special"><</span>
+    <span class="identifier">with_red_black_flag</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">BaseGenerator</span>
+  <span class="special">,</span> <span class="identifier">T1</span>
+  <span class="special">,</span> <span class="identifier">T2</span>
+<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.members"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.members" title="Public Members">Public Members</a>
+</h4></div></div></div>
+<p>
+          In addition to those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>,
+          the following members are defined:
+        </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">with_red_black_flag</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">with_red_black_flag</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag</span><span class="special">(</span><span class="identifier">with_red_black_flag</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag</span><span class="special">(</span><span class="identifier">with_red_black_flag</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_red_black_flag</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_red_black_flag</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Red flag query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">is_red</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="keyword">true</span></code> if
+                    the flag is set to red, <code class="computeroutput"><span class="keyword">false</span></code>
+                    if it is set to black.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Black flag query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">is_black</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="keyword">true</span></code> if
+                    the flag is set to black, <code class="computeroutput"><span class="keyword">false</span></code>
+                    if it is set to red.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Red flag setting
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">set_red_flag</span><span class="special">(</span><span class="keyword">bool</span> <span class="identifier">flag</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Sets the flag to red if the argument evaluates to <code class="computeroutput"><span class="keyword">true</span></code>; sets the flag to black if
+                    the argument evaluates to <code class="computeroutput"><span class="keyword">false</span></code>.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag.non_members"></a><a class="link" href="with_rb_flag.html#tree_node.reference.with_rb_flag.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_position_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_rb_flag_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_rb_flag_base.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_rb_flag_base.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,423 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_red_black_flag_base<Derived,BaseGenerator,T1,T2></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>">
+<link rel="next" href="with_red_black_flag_gen.html" title="with_red_black_flag_gen<BaseGenerator>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_rb_flag.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_red_black_flag_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_rb_flag_base"></a><a class="link" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span></code> </a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.description"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The <a class="link" href="with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag</span></code></a>
+          class template inherits its functionality from this class template. They
+          differ only with regard to template parameters: the <a class="link" href="with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag</span></code></a> class template
+          is meant to be used directly as a data structure, while <code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code>
+          is more suitable as a base class template from which other <a class="link" href="../concepts/tree_node.html" title="Tree Node"><span class="bold"><strong>Tree Node</strong></span></a> adaptor class templates can derive
+          via the <a class="link" href="with_rb_flag.html" title="with_red_black_flag<BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_gen</span></code></a> <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.definition"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_red_black_flag.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.tpl_param"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">Derived</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The most descendant type that will inherit from this one.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code>
+                    will inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T1</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The key type if <code class="computeroutput"><span class="identifier">T2</span></code>
+                    is specified; the data type otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">T2</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The data type if specified; ignored otherwise.
+                  </p>
+                </td>
+<td>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="keyword">void</span></code>
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.model_of"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="../concepts/associative_tree_node.html" title="Associative Tree Node"><span class="bold"><strong>Associative Tree Node</strong></span></a> <span class="keyword">if</span> <span class="error">`</span><span class="identifier">T2</span><span class="error">`</span> <span class="identifier">is</span> <span class="identifier">specified</span><span class="special">;</span>
+  <a class="link" href="../concepts/non_assoc_tree_node.html" title="Non-Associative Tree Node"><span class="bold"><strong>Non-Associative Tree Node</strong></span></a> <span class="identifier">otherwise</span>
+<span class="special">*</span> <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a>
+<span class="special">*</span> <span class="identifier">any</span> <span class="identifier">other</span> <span class="identifier">concept</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="keyword">return</span> <span class="identifier">type</span> <span class="identifier">of</span> <span class="error">`</span><span class="identifier">BaseGenerator</span><span class="error">`</span> <span class="identifier">models</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.public_bases"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.public_bases" title="Public Base Classes">Public
+        Base Classes</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if</span><span class="special"><</span>
+    <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T2</span><span class="special">></span>
+  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap2</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">></span>
+  <span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">apply_wrap3</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
+<span class="special">>::</span><span class="identifier">type</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.members"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.members" title="Members">Members</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Name
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Definition
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+                  <p>
+                    Default constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">with_red_black_flag_base</span><span class="special">();</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Default Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Constructor with data
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">explicit</span> <span class="identifier">with_red_black_flag_base</span><span class="special">(</span>
+    <span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">data_type</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">data</span>
+<span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the <a class="link" href="../concepts/base_tree_node.html" title="Base Tree Node"><span class="bold"><strong>Base Tree Node</strong></span></a> concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Copy constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag_base</span><span class="special">(</span><span class="identifier">with_red_black_flag_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Copy Constructible concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move constructor
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag_base</span><span class="special">(</span><span class="identifier">with_red_black_flag_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_red_black_flag_base</span>
+                    <span class="keyword">const</span><span class="special">&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Assignable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Move assignment operator
+                  </p>
+                </td>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">with_red_black_flag_base</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">with_red_black_flag_base</span><span class="special">&&);</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Defined by the Movable concept.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Red flag query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">is_red</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="keyword">true</span></code> if
+                    the flag is set to red, <code class="computeroutput"><span class="keyword">false</span></code>
+                    if it is set to black.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Black flag query
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">is_black</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Returns <code class="computeroutput"><span class="keyword">true</span></code> if
+                    the flag is set to black, <code class="computeroutput"><span class="keyword">false</span></code>
+                    if it is set to red.
+                  </p>
+                </td>
+</tr>
+<tr>
+<td>
+                  <p>
+                    Red flag setting
+                  </p>
+                </td>
+<td>
+                  <p>
+                    
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">set_red_flag</span><span class="special">(</span><span class="keyword">bool</span> <span class="identifier">flag</span><span class="special">);</span>
+</pre>
+<p>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    Sets the flag to red if the argument evaluates to <code class="computeroutput"><span class="keyword">true</span></code>; sets the flag to black if
+                    the argument evaluates to <code class="computeroutput"><span class="keyword">false</span></code>.
+                  </p>
+                </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_rb_flag_base.non_members"></a><a class="link" href="with_rb_flag_base.html#tree_node.reference.with_rb_flag_base.non_members" title="Non-members">Non-members</a>
+</h4></div></div></div>
+<p>
+          None beyond those inherited from the return type of <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_rb_flag.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="with_red_black_flag_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_red_black_flag_gen.html
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/html/tree_node/reference/with_red_black_flag_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,200 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>with_red_black_flag_gen<BaseGenerator></title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. tree_node 0.3">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>">
+<link rel="next" href="tree_node_base.html" title="tree_node_base<Derived>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="with_rb_flag_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tree_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen"></a><a class="link" href="with_red_black_flag_gen.html" title="with_red_black_flag_gen<BaseGenerator>"><code class="computeroutput"><span class="identifier">with_red_black_flag_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.synopsis"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</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">tree_node</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">BaseGenerator</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">with_red_black_flag_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="keyword">typedef</span> <span class="identifier">with_red_black_flag_base</span><span class="special"><</span><span class="identifier">Derived</span><span class="special">,</span><span class="identifier">BaseGenerator</span><span class="special">,</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">T2</span><span class="special">></span>
+                    <span class="identifier">type</span><span class="special">;</span>
+        <span class="special">};</span>
+    <span class="special">};</span>
+<span class="special">}}</span>  <span class="comment">// namespace boost::tree_node
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.description"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.definition"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/tree_node/with_red_black_flag.hpp<span class="special">></span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.model_of"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.model_of" title="Model of">Model
+        of</a>
+</h4></div></div></div>
+<p>
+          <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type
+          Generator</strong></span></a>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.tpl_param"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.tpl_param" title="Template Parameters">Template
+        Parameters</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+                  <p>
+                    Parameter
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Description
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Requirements
+                  </p>
+                </th>
+<th>
+                  <p>
+                    Default
+                  </p>
+                </th>
+</tr></thead>
+<tbody><tr>
+<td>
+                  <p>
+                    <code class="computeroutput"><span class="identifier">BaseGenerator</span></code>
+                  </p>
+                </td>
+<td>
+                  <p>
+                    The Metafunction Class from whose
+                    return type <a class="link" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code></a>
+                    will inherit.
+                  </p>
+                </td>
+<td>
+                  <p>
+                    It must model the <a class="link" href="../concepts/type_generator.html" title="Type Generator"><span class="bold"><strong>Type Generator</strong></span></a> concept.
+                  </p>
+                </td>
+<td>
+                </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.expressions"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.expressions" title="Expression Semantics">Expression
+        Semantics</a>
+</h4></div></div></div>
+<p>
+          Let <code class="computeroutput"><span class="identifier">Derived</span></code> be the type
+          that will inherit from <a class="link" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>"><code class="computeroutput"><span class="identifier">with_red_black_flag_base</span></code></a>. Let
+          <code class="computeroutput"><span class="identifier">Key</span></code> be the key type. Let
+          <code class="computeroutput"><span class="identifier">Data</span></code> be the data type.
+          Let <code class="computeroutput"><span class="identifier">BaseGenerator</span></code> be a
+          valid <code class="computeroutput"><span class="identifier">with_red_black_flag_gen</span></code>
+          template argument.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap3<span class="special"><</span>
+    <span class="identifier">with_red_black_flag_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Key</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>">with_red_black_flag_base</a><Derived,BaseGenerator,Key,Data></code>
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span>
+    <span class="identifier">with_red_black_flag_gen</span><span class="special"><</span><span class="identifier">BaseGenerator</span><span class="special">></span>
+  <span class="special">,</span> <span class="identifier">Derived</span>
+  <span class="special">,</span> <span class="identifier">Data</span>
+<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">r</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          <span class="bold"><strong>Return type:</strong></span> <code class="literal"><a class="link" href="with_rb_flag_base.html" title="with_red_black_flag_base<Derived,BaseGenerator,T1,T2>">with_red_black_flag_base</a><Derived,BaseGenerator,Data></code>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="tree_node.reference.with_red_black_flag_gen.complexity"></a><a class="link" href="with_red_black_flag_gen.html#tree_node.reference.with_red_black_flag_gen.complexity" title="Complexity">Complexity</a>
+</h4></div></div></div>
+<p>
+          Compile time.
+        </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 © 2011 -2012 Cromwell D. Enage<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="with_rb_flag_base.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="tree_node_base.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/tree_node/libs/tree_node/doc/ref_associative_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_associative_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,251 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:associative_node
+    `associative_node<Key,Data,AssociativeContainerSelector>`
+]
+
+[section Description]
+This class template is suitable for classes or algorithms that need to map keys
+to child nodes in a tree node data structure.  Objects of this type can be
+stored by value, and their children can be accessed by their associated keys
+for fast lookup.
+
+[important
+    This component depends on __Boost_Utility_ContainerGen__, which is not yet
+    a part of Boost.  For now, you must perform a Subversion checkout from the
+    __SVN_Trac__.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_associative_node_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Key`]
+        [
+            The type of a key object to be associated with a child of a
+            `associative_node`.
+        ]
+        []
+        []
+    ]
+    [
+        [`Data`]
+        [The type of the object to be stored in a `associative_node`.]
+        []
+        []
+    ]
+    [
+        [`AssociativeContainerSelector`]
+        [
+            The type that determines the internal map types whose mapped types
+            are the same as the pointer type.
+        ]
+        [
+            It must be a type for which __associative_container_gen__ returns
+            a recursive, move-aware container.
+        ]
+        [`boost_mapS`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__
+  * __Default_Constructible__ if `Data` is __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__ if `Data` is __Assignable__
+  * __Movable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__associative_node__bases]
+[endsect]
+
+[section:members Public Members]
+Given:
+[reference__associative_node__super_t]
+[table
+    [[Name][Definition][Where defined]]
+    [
+        [Key type, data type]
+        [[reference__associative_node__traits]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Pointer type]
+        [[reference__associative_node__pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer-to-const type]
+        [[reference__associative_node__const_pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Iterator type]
+        [[reference__associative_node__iterator]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Immutable iterator type]
+        [[reference__associative_node__const_iterator]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Default constructor]
+        [[reference__associative_node__default_ctor]]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor with data]
+        [[reference__associative_node__data_ctor]]
+        [__Base_Tree_Node__]
+    ]
+    [
+        [Copy constructor]
+        [`associative_node(associative_node const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Move constructor]
+        [`associative_node(associative_node&&);`]
+        [__Movable__]
+    ]
+    [
+        [Assignment operator]
+        [`associative_node& operator=(associative_node const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Move assignment operator]
+        [`associative_node& operator=(associative_node&&);`]
+        [__Movable__]
+    ]
+    [
+        [Data access]
+        [[reference__associative_node_base__get_data__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Data access]
+        [[reference__associative_node_base__get_data]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__associative_node_base__get_parent_ptr__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__associative_node_base__get_parent_ptr]]
+        [__Tree_Node__]
+    ]
+    [
+        [Child creation with data]
+        [[reference__associative_node_base__add_child__data]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child creation]
+        [[reference__associative_node_base__add_child]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child copy creation]
+        [[reference__associative_node_base__add_child_copy]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__associative_node_base__begin__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__associative_node_base__begin]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__associative_node_base__end__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__associative_node_base__end]]
+        [__Tree_Node__]
+    ]
+    [
+        [Child search]
+        [[reference__associative_node_base__find_child__const]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child search]
+        [[reference__associative_node_base__find_child]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child search range]
+        [[reference__associative_node_base__find_children__const]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child search range]
+        [[reference__associative_node_base__find_children]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Remove children]
+        [[reference__associative_node_base__remove_children]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Leaf node query]
+        [[reference__associative_node_base__empty]]
+        [__Tree_Node__]
+    ]
+    [
+        [Remove all children]
+        [[reference__associative_node_base__clear]]
+        [__Tree_Node__]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [__tree_node_base__]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [__tree_node_base__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+None beyond those inherited from __associative_node_base__.
+[endsect]
+
+[section Example]
+<__example_associative_node_cpp__>
+[endsect]
+
+[endsect] [/ associative_node]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_associative_node_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_associative_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,296 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:associative_node_base
+    `associative_node_base<Derived,Key,Data,AssociativeContainerSelector>`
+]
+
+[section Description]
+The __associative_node__ class template inherits its functionality from this
+class template.  They differ only with regard to template parameters: the
+__associative_node__ class template is meant to be used directly as a data
+structure, while `raw_associative_node_base` is more suitable as a base class
+template from which __Tree_Node__ adaptor class templates can derive via the
+__associative_node_gen__ __Type_Generator__.
+
+[important
+    This component depends on __Boost_Utility_ContainerGen__, which is not yet
+    a part of Boost.  For now, you must perform a Subversion checkout from the
+    __SVN_Trac__.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_associative_node_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+    [
+        [`Key`]
+        [The key type.]
+        []
+        []
+    ]
+    [
+        [`Data`]
+        [The data type.]
+        []
+        []
+    ]
+    [
+        [`AssociativeContainerSelector`]
+        [
+            The type that determines the internal map types whose mapped types
+            are the same as the pointer type.
+        ]
+        [
+            It must be a type for which __associative_container_gen__ returns
+            a recursive, move-aware container.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__
+  * __Base_Tree_Node__
+  * __Default_Constructible__ if `Data` is __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__ if `Data` is __Assignable__
+  * __Movable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__associative_node_base__bases]
+[endsect]
+
+[section:members Public Members]
+[table
+    [[Name][Definition][Where defined]]
+    [
+        [Key type, data type]
+        [[reference__associative_node_base__traits]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Pointer type]
+        [[reference__associative_node_base__pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer-to-const type]
+        [[reference__associative_node_base__const_pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Iterator type]
+        [[reference__associative_node_base__iterator]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Immutable iterator type]
+        [[reference__associative_node_base__const_iterator]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Default constructor]
+        [[reference__associative_node_base__default_ctor]]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor with data]
+        [[reference__associative_node_base__data_ctor]]
+        [__Base_Tree_Node__]
+    ]
+    [
+        [Copy constructor]
+        [[reference__associative_node_base__copy_ctor]]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Move constructor]
+        [`associative_node_base(associative_node_base&&);`]
+        [__Movable__]
+    ]
+    [
+        [Assignment operator]
+        [`associative_node_base& operator=(associative_node_base const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Move assignment operator]
+        [`associative_node_base& operator=(associative_node_base&&);`]
+        [__Movable__]
+    ]
+    [
+        [Data access]
+        [[reference__associative_node_base__get_data__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Data access]
+        [[reference__associative_node_base__get_data]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__associative_node_base__get_parent_ptr__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__associative_node_base__get_parent_ptr]]
+        [__Tree_Node__]
+    ]
+    [
+        [Child creation with data]
+        [[reference__associative_node_base__add_child__data]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child creation]
+        [[reference__associative_node_base__add_child]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child copy creation]
+        [[reference__associative_node_base__add_child_copy]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__associative_node_base__begin__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__associative_node_base__begin]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__associative_node_base__end__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__associative_node_base__end]]
+        [__Tree_Node__]
+    ]
+    [
+        [Child search]
+        [[reference__associative_node_base__find_child__const]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child search]
+        [[reference__associative_node_base__find_child]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child search range]
+        [[reference__associative_node_base__find_children__const]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Child search range]
+        [[reference__associative_node_base__find_children]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Remove children]
+        [[reference__associative_node_base__remove_children]]
+        [__Associative_Tree_Node__]
+    ]
+    [
+        [Leaf node query]
+        [[reference__associative_node_base__empty]]
+        [__Tree_Node__]
+    ]
+    [
+        [Remove all children]
+        [[reference__associative_node_base__clear]]
+        [__Tree_Node__]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [__tree_node_base__]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [__tree_node_base__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Equality]
+        [[reference__associative_node_base__operator_equals]]
+        [
+            Performs in-order comparison of the data of each of the specified
+            nodes, their descendants, and any associated keys, then compares
+            the nodes for structural equality.  Returns `true` if and only if
+            the nodes are lexicographically and structurally equal, `false`
+            otherwise.
+        ]
+    ]
+    [
+        [Inequality]
+        [[reference__associative_node_base__operator_not_equal]]
+        [Equivalent to `!(rhs == lhs)`.]
+    ]
+    [
+        [Less]
+        [[reference__associative_node_base__operator_less_than]]
+        [
+            Performs in-order comparison of the data of each of the specified
+            nodes, their descendants, and any associated keys, then compares
+            the nodes for structural equality.  Returns `true` if and only if
+            the first node is lexicographically less than the second one, or if
+            both nodes are lexicographically equal but the first one is skewed
+            further to the left than the second one, `false` otherwise.
+        ]
+    ]
+    [
+        [Greater]
+        [[reference__associative_node_base__operator_greater_than]]
+        [Equivalent to `rhs < lhs`.]
+    ]
+    [
+        [Less or equal]
+        [[reference__associative_node_base__operator_less_equal]]
+        [Equivalent to `!(rhs < lhs)`.]
+    ]
+    [
+        [Greater or equal]
+        [[reference__associative_node_base__operator_greater_equal]]
+        [Equivalent to `!(lhs < rhs)`.]
+    ]
+]
+[endsect]
+
+[endsect] [/ associative_node_base]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_associative_node_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_associative_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,77 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:associative_node_gen `associative_node_gen<Selector>`]
+
+[section Synopsis]
+[reference__associative_node_gen]
+[endsect]
+
+[section Description]
+TODO.
+
+[important
+    This component depends on __Boost_Utility_ContainerGen__, which is not yet
+    a part of Boost.  For now, you must perform a Subversion checkout from the
+    __SVN_Trac__.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_associative_node_hpp__>
+``
+[endsect]
+
+[section:model_of Model of]
+__Type_Generator__
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Selector`]
+        [
+            The type that determines the internal container types of
+            __associative_node_base__.
+        ]
+        [
+            It must be a type for which __associative_container_gen__ returns
+            a recursive, move-aware container.
+        ]
+        [`boost_mapS`]
+    ]
+]
+[endsect]
+
+[section:expressions Expression Semantics]
+Let `Derived` be the type that will inherit from __associative_node_base__.
+Let `Key` be the key type.
+Let `Data` be the data type.
+Let `Selector` be a valid `associative_node_gen` template argument.
+
+``
+    typedef _mpl_apply_wrap3_<
+        associative_node_gen<Selector>
+      , Derived
+      , Key
+      , Data
+    >::type r;
+``
+
+[*Return type:] [^_associative_node_base_<Derived,Key,Data,Selector>]
+
+[endsect]
+
+[section Complexity]
+Compile time.
+[endsect]
+
+[endsect] [/ associative_node_gen]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_binary_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_binary_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,250 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:binary_node `binary_node<T>`]
+
+[section Description]
+This class template is suitable for classes or algorithms that require a
+binary tree node data structure.  Objects of this type can be stored by value.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_binary_node_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`T`]
+        [The type of the object to be stored in a `binary_node`.]
+        []
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Binary_Tree_Node__
+  * __Default_Constructible__ if `T` is __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__ if `T` is __Assignable__
+  * __Movable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__binary_node__bases]
+[endsect]
+
+[section:members Public Members]
+Given:
+[reference__binary_node__super_t]
+[table
+    [[Name][Definition][Where defined]]
+    [
+        [Data type]
+        [[reference__binary_node__traits]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer type]
+        [[reference__binary_node__pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer-to-const type]
+        [[reference__binary_node__const_pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Iterator type]
+        [[reference__binary_node__iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Immutable iterator type]
+        [[reference__binary_node__const_iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Default constructor]
+        [[reference__binary_node__default_ctor]]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor with data]
+        [[reference__binary_node__data_ctor]]
+        [__Base_Tree_Node__]
+    ]
+    [
+        [Copy constructor]
+        [`binary_node(binary_node const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Move constructor]
+        [`binary_node(binary_node&&);`]
+        [__Movable__]
+    ]
+    [
+        [Copy assignment operator]
+        [`binary_node& operator=(binary_node const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Move assignment operator]
+        [`binary_node& operator=(binary_node&&);`]
+        [__Movable__]
+    ]
+    [
+        [Data access]
+        [[reference__binary_node_base__get_data__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Data access]
+        [[reference__binary_node_base__get_data]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__binary_node_base__get_parent_ptr__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__binary_node_base__get_parent_ptr]]
+        [__Tree_Node__]
+    ]
+    [
+        [Left child creation with data]
+        [[reference__binary_node_base__add_left_child__data]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child creation]
+        [[reference__binary_node_base__add_left_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child copy creation]
+        [[reference__binary_node_base__add_left_child_copy]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child creation with data]
+        [[reference__binary_node_base__add_right_child__data]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child creation]
+        [[reference__binary_node_base__add_right_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child copy creation]
+        [[reference__binary_node_base__add_right_child_copy]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child access]
+        [[reference__binary_node_base__get_left_child_ptr__const]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child access]
+        [[reference__binary_node_base__get_left_child_ptr]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child access]
+        [[reference__binary_node_base__get_right_child_ptr__const]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child access]
+        [[reference__binary_node_base__get_right_child_ptr]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__binary_node_base__begin__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__binary_node_base__begin]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__binary_node_base__end__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__binary_node_base__end]]
+        [__Tree_Node__]
+    ]
+    [
+        [Rotate left]
+        [[reference__binary_node_base__rotate_left]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Rotate right]
+        [[reference__binary_node_base__rotate_right]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Remove left child]
+        [[reference__binary_node_base__remove_left_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Remove right child]
+        [[reference__binary_node_base__remove_right_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Leaf node query]
+        [[reference__binary_node_base__empty]]
+        [__Tree_Node__]
+    ]
+    [
+        [Remove all children]
+        [[reference__binary_node_base__clear]]
+        [__Tree_Node__]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [__tree_node_base__]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [__tree_node_base__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+None beyond those inherited from __binary_node_base__.
+[endsect]
+
+[section Example]
+<__example_binary_node_cpp__>
+[endsect]
+
+[endsect] [/ binary_node]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_binary_node_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_binary_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,299 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:binary_node_base `binary_node_base<Derived,T>`]
+
+[section Description]
+The __binary_node__ class template inherits its functionality from this class
+template.  They differ only with regard to template parameters: the
+__binary_node__ class template is meant to be used directly as a data
+structure, while `binary_node_base` is more suitable as a base class template
+from which __Tree_Node__ adaptor class templates can derive via the
+__binary_node_gen__ __Type_Generator__.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_binary_node_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+    [
+        [`T`]
+        [The data type.]
+        []
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Binary_Tree_Node__
+  * __Base_Tree_Node__
+  * __Default_Constructible__ if `T` is __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__ if `T` is __Assignable__
+  * __Movable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__binary_node_base__bases]
+[endsect]
+
+[section:members Public Members]
+[table
+    [[Name][Definition][Where defined]]
+    [
+        [Data type]
+        [[reference__binary_node_base__traits]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer type]
+        [[reference__binary_node_base__pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer-to-const type]
+        [[reference__binary_node_base__const_pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Iterator type]
+        [[reference__binary_node_base__iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Immutable iterator type]
+        [[reference__binary_node_base__const_iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Default constructor]
+        [[reference__binary_node_base__default_ctor]]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor with data]
+        [[reference__binary_node_base__data_ctor]]
+        [__Base_Tree_Node__]
+    ]
+    [
+        [Copy constructor]
+        [[reference__binary_node_base__copy_ctor]]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Move constructor]
+        [`binary_node_base(binary_node_base&&);`]
+        [__Movable__]
+    ]
+    [
+        [Copy assignment operator]
+        [`binary_node_base& operator=(binary_node_base const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Move assignment operator]
+        [`binary_node_base& operator=(binary_node_base&&);`]
+        [__Movable__]
+    ]
+    [
+        [Data access]
+        [[reference__binary_node_base__get_data__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Data access]
+        [[reference__binary_node_base__get_data]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__binary_node_base__get_parent_ptr__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__binary_node_base__get_parent_ptr]]
+        [__Tree_Node__]
+    ]
+    [
+        [Left child creation with data]
+        [[reference__binary_node_base__add_left_child__data]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child creation]
+        [[reference__binary_node_base__add_left_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child copy creation]
+        [[reference__binary_node_base__add_left_child_copy]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child creation with data]
+        [[reference__binary_node_base__add_right_child__data]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child creation]
+        [[reference__binary_node_base__add_right_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child copy creation]
+        [[reference__binary_node_base__add_right_child_copy]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child access]
+        [[reference__binary_node_base__get_left_child_ptr__const]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Left child access]
+        [[reference__binary_node_base__get_left_child_ptr]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child access]
+        [[reference__binary_node_base__get_right_child_ptr__const]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Right child access]
+        [[reference__binary_node_base__get_right_child_ptr]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__binary_node_base__begin__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__binary_node_base__begin]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__binary_node_base__end__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__binary_node_base__end]]
+        [__Tree_Node__]
+    ]
+    [
+        [Rotate left]
+        [[reference__binary_node_base__rotate_left]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Rotate right]
+        [[reference__binary_node_base__rotate_right]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Remove left child]
+        [[reference__binary_node_base__remove_left_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Remove right child]
+        [[reference__binary_node_base__remove_right_child]]
+        [__Binary_Tree_Node__]
+    ]
+    [
+        [Leaf node query]
+        [[reference__binary_node_base__empty]]
+        [__Tree_Node__]
+    ]
+    [
+        [Remove all children]
+        [[reference__binary_node_base__clear]]
+        [__Tree_Node__]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [__tree_node_base__]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [__tree_node_base__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Equality]
+        [[reference__binary_node_base__operator_equals]]
+        [
+            Performs in-order comparison of the data of each of the specified
+            nodes and their descendants, then compares the nodes for structural
+            equality.  Returns `true` if and only if the nodes are
+            lexicographically and structurally equal, `false` otherwise.
+        ]
+    ]
+    [
+        [Inequality]
+        [[reference__binary_node_base__operator_not_equal]]
+        [Equivalent to `!(rhs == lhs)`.]
+    ]
+    [
+        [Less]
+        [[reference__binary_node_base__operator_less_than]]
+        [
+            Performs in-order comparison of the data of each of the specified
+            nodes and their descendants, then compares the nodes for structural
+            inequality.  Returns `true` if and only if the first node is
+            lexicographically less than the second one, or if both nodes are
+            lexicographically equal but the first one is skewed further to the
+            left than the second one, `false` otherwise.
+        ]
+    ]
+    [
+        [Greater]
+        [[reference__binary_node_base__operator_greater_than]]
+        [Equivalent to `rhs < lhs`.]
+    ]
+    [
+        [Less or equal]
+        [[reference__binary_node_base__operator_less_equal]]
+        [Equivalent to `!(rhs < lhs)`.]
+    ]
+    [
+        [Greater or equal]
+        [[reference__binary_node_base__operator_greater_equal]]
+        [Equivalent to `!(lhs < rhs)`.]
+    ]
+]
+[endsect]
+
+[endsect] [/ binary_node_base]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_binary_node_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_binary_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,46 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:binary_node_gen `binary_node_gen`]
+
+[section Synopsis]
+[reference__binary_node_gen]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_binary_node_hpp__>
+``
+[endsect]
+
+[section:model_of Model of]
+__Type_Generator__
+[endsect]
+
+[section:expressions Expression Semantics]
+Let `Derived` be the type that will inherit from __binary_node_base__.
+Let `T` be the data type.
+
+``
+    typedef _mpl_apply_wrap2_<binary_node_gen,Derived,T>::type r;
+``
+
+[*Return type:] [^_binary_node_base_<Derived,T>]
+
+[endsect]
+
+[section Complexity]
+Compile time.
+[endsect]
+
+[endsect] [/ binary_node_gen]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_breadth_first_desc_iter.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_breadth_first_desc_iter.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,197 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:breadth_first_desc_iter `breadth_first_descendant_iterator<Node>`]
+
+[section Synopsis]
+[reference__breadth_first_descendant_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the descendants of the specified root node in
+breadth-first fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+C B D E F G
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_breadth_first_desc_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Tree_Node_Descendant_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Tree_Node_Descendant_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Difference type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`breadth_first_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`explicit breadth_first_descendant_iterator(Node&);`]
+        [__Tree_Node_Descendant_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            breadth_first_descendant_iterator(
+                breadth_first_descendant_iterator<N> const&
+            );
+        ``]
+        [`breadth_first_descendant_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [``
+            breadth_first_descendant_iterator(
+                breadth_first_descendant_iterator const&
+            );
+        ``]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [``
+            breadth_first_descendant_iterator&
+                operator=(breadth_first_descendant_iterator const&);
+        ``]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`breadth_first_descendant_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`breadth_first_descendant_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_breadth_first_descendant_iterator]]
+        [
+            Constructs and returns a `breadth_first_descendant_iterator` that
+            will iterate through the descendants of the specified node.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__breadth_first_iterate_descendants]]
+        [
+            Iterates through the descendants of the specified node in
+            breadth-first fashion, passing each element dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__breadth_first_descendant_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__breadth_first_descendant_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ breadth_first_descendant_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_breadth_first_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_breadth_first_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,188 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:breadth_first_iterator `breadth_first_iterator<Node>`]
+
+[section Synopsis]
+[reference__breadth_first_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the specified root node and all its descendants in
+breadth-first fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+A C B D E F G
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_breadth_first_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Full_Tree_Node_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Difference type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`breadth_first_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`explicit breadth_first_iterator(Node&);`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            breadth_first_iterator(breadth_first_iterator<N> const&);
+        ``]
+        [`breadth_first_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [`breadth_first_iterator(breadth_first_iterator const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [`breadth_first_iterator& operator=(breadth_first_iterator const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`breadth_first_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`breadth_first_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_breadth_first_iterator]]
+        [
+            Constructs and returns a `breadth_first_iterator` that will iterate
+            through the specified node and its descendants.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__breadth_first_iterate]]
+        [
+            Iterates through the specified node and its descendants in
+            breadth-first fashion, passing each node pointer dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__breadth_first_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__breadth_first_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ breadth_first_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_depth_first_desc_iter.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_depth_first_desc_iter.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,223 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:depth_first_desc_iter `depth_first_descendant_iterator<Node>`]
+
+[section Synopsis]
+[reference__depth_first_descendant_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the specified root node and all its descendants in
+depth-first fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+C  pre_order_traversal
+D  pre_order_traversal
+D  post_order_traversal
+E  pre_order_traversal
+E  post_order_traversal
+C  post_order_traversal
+B  pre_order_traversal
+F  pre_order_traversal
+F  post_order_traversal
+G  pre_order_traversal
+G  post_order_traversal
+B  post_order_traversal
+``
+
+The traversal state conversion operator of this iterator will yield each value
+in the column on the right at the appropriate iteration.
+
+This iterator is ideal for algorithms that need to perform both preprocessing
+and postprocessing of a tree node, e.g. the copy constructors of the
+__binary_node__, __nary_node__, and __associative_node__ implementations.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_depth_first_desc_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Tree_Node_Descendant_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Description]]
+    [
+        [Value type]
+        [`value_type`]
+        [Defined in the __Tree_Node_Descendant_Iterator__ concept.]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Default constructor]
+        [`depth_first_descendant_iterator();`]
+        [Defined in the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor from node]
+        [`depth_first_descendant_iterator(Node&);`]
+        [Defined in the __Tree_Node_Descendant_Iterator__ concept.]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            depth_first_descendant_iterator(
+                depth_first_descendant_iterator<N> const&
+            );
+        ``]
+        [
+            Constructs a `depth_first_descendant_iterator` object that will
+            point to the same element that the specified iterator points to.
+        ]
+    ]
+    [
+        [Copy constructor]
+        [``
+            depth_first_descendant_iterator(
+                depth_first_descendant_iterator const&
+            );
+        ``]
+        [Defined in the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [``
+            depth_first_descendant_iterator&
+                operator=(depth_first_descendant_iterator const&);
+        ``]
+        [Defined in the __Assignable__ concept.]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Pre-increment operator]
+        [`depth_first_descendant_iterator& operator++();`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Post-increment operator]
+        [`depth_first_descendant_iterator operator++(int);`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [
+            Returns `pre_order_traversal` if this iterator has not yet examined
+            the children of the current node, `post_order_traversal` if this
+            iterator has examined all of the children of the current node, or
+            `no_traversal` if this iterator is not dereferenceable.
+        ]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_depth_first_descendant_iterator]]
+        [
+            Constructs and returns a `depth_first_descendant_iterator` that
+            will iterate through the descendants of the specified node.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__depth_first_iterate_descendants]]
+        [
+            Iterates through the descendants of the specified node in
+            depth-first fashion, passing each element dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__depth_first_descendant_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__depth_first_descendant_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ depth_first_descendant_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_depth_first_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_depth_first_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,216 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:depth_first_iterator `depth_first_iterator<Node>`]
+
+[section Synopsis]
+[reference__depth_first_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the specified root node and all its descendants in
+depth-first fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+A  pre_order_traversal
+C  pre_order_traversal
+D  pre_order_traversal
+D  post_order_traversal
+E  pre_order_traversal
+E  post_order_traversal
+C  post_order_traversal
+B  pre_order_traversal
+F  pre_order_traversal
+F  post_order_traversal
+G  pre_order_traversal
+G  post_order_traversal
+B  post_order_traversal
+A  post_order_traversal
+``
+
+The traversal state conversion operator of this iterator will yield each value
+in the column on the right at the appropriate iteration.
+
+This iterator is ideal for algorithms that need to perform both preprocessing
+and postprocessing of a tree node, e.g. the copy constructors of the
+__nary_node__ and __associative_node__ implementations.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_depth_first_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Full_Tree_Node_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Description]]
+    [
+        [Value type]
+        [`value_type`]
+        [Defined in the __Full_Tree_Node_Iterator__ concept.]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Default constructor]
+        [`depth_first_iterator();`]
+        [Defined in the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor from node]
+        [`depth_first_iterator(Node&);`]
+        [Defined in the __Full_Tree_Node_Iterator__ concept.]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            depth_first_iterator(depth_first_iterator<N> const&);
+        ``]
+        [
+            Constructs a `depth_first_iterator` object that will point to the
+            same element that the specified iterator points to.
+        ]
+    ]
+    [
+        [Copy constructor]
+        [`depth_first_iterator(depth_first_iterator const&);`]
+        [Defined in the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [`depth_first_iterator& operator=(depth_first_iterator const&);`]
+        [Defined in the __Assignable__ concept.]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Pre-increment operator]
+        [`depth_first_iterator& operator++();`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Post-increment operator]
+        [`depth_first_iterator operator++(int);`]
+        [Defined in the __Forward_Iterator__ concept.]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [
+            Returns `pre_order_traversal` if this iterator has not yet examined
+            the children of the current node, `post_order_traversal` if this
+            iterator has examined all of the children of the current node, or
+            `no_traversal` if this iterator is not dereferenceable.
+        ]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Expression][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_depth_first_iterator]]
+        [
+            Constructs and returns a `depth_first_iterator` that will iterate
+            through the specified node and its descendants.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__depth_first_iterate]]
+        [
+            Iterates through the specified node and its descendants in
+            depth-first fashion, passing each node pointer dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__depth_first_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__depth_first_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ depth_first_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_dereference_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_dereference_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,26 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:dereference_iterator `dereference_iterator()`]
+
+[section Synopsis]
+[reference__dereference_iterator]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_algorithm_dereference_iterator_hpp__>
+``
+[endsect]
+
+[endsect] [/ dereference_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_equal.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_equal.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,28 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:equal `equal()`]
+
+[section Synopsis]
+[reference__equal__with_comparators]
+[reference__equal__with_comparator]
+[reference__equal]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_algorithm_equal_hpp__>
+``
+[endsect]
+
+[endsect] [/ equal]
+
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_factory.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_factory.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,61 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:factory `factory`]
-
-[section Synopsis]
-[reference__factory]
-[endsect]
-
-[section Description]
-This facade type provides a uniform interface for creating __Tree_Node__
-objects.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_factory_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`T`]
-        [The type of object that the `factory` methods will create.]
-        [It must model the __Tree_Node__ concept.]
-        []
-    ]
-]
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Description]]
-    [
-        [Depth access]
-        [`static typename T::pointer create();`]
-        [Default-constructs an instance of type `T` on the heap.]
-    ]
-    [
-        [Depth access]
-        [``
-            static typename T::pointer
-                create(typename T::traits::data_type data);
-        ``]
-        [
-            Heap-allocates an instance of type `T` that will store the
-            specified data.
-        ]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ factory]
-
Added: sandbox/tree_node/libs/tree_node/doc/ref_in_order_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_in_order_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,226 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:in_order_iterator `in_order_iterator<Node>`]
+
+[section Synopsis]
+[reference__in_order_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the specified root node and all its descendants in
+in-order fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+The tree nodes will be traversed forward in the following order:
+
+``
+D C E A F B G
+``
+
+This iterator can also be used to traverse the tree nodes /backwards/:
+
+``
+G B F A E C D
+``
+
+[important
+    This iterator works only on __Binary_Tree_Node__ models.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_in_order_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Full_Tree_Node_Iterator__
+  * __Bidirectional_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`in_order_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`in_order_iterator(Node&);`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            in_order_iterator(in_order_iterator<N> const&);
+        ``]
+        [`in_order_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [`in_order_iterator(in_order_iterator const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [`in_order_iterator& operator=(in_order_iterator const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`in_order_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`in_order_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-decrement operator]
+        [`in_order_iterator& operator--();`]
+        [__Reverse_Iterator__]
+    ]
+    [
+        [Post-decrement operator]
+        [`in_order_iterator operator--(int);`]
+        [__Reverse_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [`operator _traversal_state_() const;`]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Expression][Description]]
+    [
+        [Forward Iterator creation]
+        [[reference__make_in_order_forward_iterator]]
+        [
+            Constructs and returns a `in_order_iterator` that will iterate
+            forward through the specified node and its descendants.
+        ]
+    ]
+    [
+        [Reverse iterator creation]
+        [[reference__make_in_order_reverse_iterator]]
+        [
+            Constructs and returns a `in_order_iterator` that will iterate
+            in reverse through the specified node and its descendants.
+        ]
+    ]
+    [
+        [Forward iteration]
+        [[reference__in_order_iterate_forward]]
+        [
+            Iterates through the specified node and its descendants in forward
+            in-order fashion, passing each node pointer dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Reverse iteration]
+        [[reference__in_order_iterate_reverse]]
+        [
+            Iterates through the specified node and its descendants in reverse
+            in-order fashion, passing each element dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__in_order_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__in_order_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect] [/ Non-members]
+
+[endsect] [/ in_order_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_lexicographical_compare.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_lexicographical_compare.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,28 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:lexicographical_compare `lexicographical_compare()`]
+
+[section Synopsis]
+[reference__lexicographical_compare__with_comparators]
+[reference__lexicographical_compare__with_comparator]
+[reference__lexicographical_compare]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_algorithm_lexicographical_compare_hpp__>
+``
+[endsect]
+
+[endsect] [/ lexicographical_compare]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_nary_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_nary_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,214 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:nary_node `nary_node<T,Selector>`]
+
+[section Description]
+This class template is suitable for classes or algorithms that require a tree
+node data structure that can handle an arbitrary number of children.  Objects
+of this type can be stored by value.
+
+[important
+    This component depends on __Boost_Utility_ContainerGen__, which is not yet
+    a part of Boost.  For now, you must perform a Subversion checkout from the
+    __SVN_Trac__.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_nary_node_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`T`]
+        [The type of the object to be stored in an `nary_node`.]
+        []
+        []
+    ]
+    [
+        [`Selector`]
+        [
+            The type that determines the internal container types whose value
+            types are the same as the pointer type.
+        ]
+        [
+            It must be a type for which __container_gen__ returns a recursive,
+            move-aware container.
+        ]
+        [`boost_dequeS`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __N_ary_Tree_Node__
+  * __Default_Constructible__ if `T` is __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__ if `T` is __Assignable__
+  * __Movable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__nary_node__bases]
+[endsect]
+
+[section:members Public Members]
+Given:
+[reference__nary_node__super_t]
+[table
+    [[Name][Definition][Where defined]]
+    [
+        [Data type]
+        [[reference__nary_node__traits]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer type]
+        [[reference__nary_node__pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer-to-const type]
+        [[reference__nary_node__const_pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Iterator type]
+        [[reference__nary_node__iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Immutable iterator type]
+        [[reference__nary_node__const_iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Default constructor]
+        [[reference__nary_node__default_ctor]]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor with data]
+        [[reference__nary_node__data_ctor]]
+        [__Base_Tree_Node__]
+    ]
+    [
+        [Copy constructor]
+        [`nary_node(nary_node const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Move constructor]
+        [`nary_node(nary_node&&);`]
+        [__Movable__]
+    ]
+    [
+        [Assignment operator]
+        [`nary_node& operator=(nary_node const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Move assignment operator]
+        [`nary_node& operator=(nary_node&&);`]
+        [__Movable__]
+    ]
+    [
+        [Data access]
+        [[reference__nary_node_base__get_data__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Data access]
+        [[reference__nary_node_base__get_data]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__nary_node_base__get_parent_ptr__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__nary_node_base__get_parent_ptr]]
+        [__Tree_Node__]
+    ]
+    [
+        [Child creation with data]
+        [[reference__nary_node_base__add_child__data]]
+        [__N_ary_Tree_Node__]
+    ]
+    [
+        [Child creation]
+        [[reference__nary_node_base__add_child]]
+        [__N_ary_Tree_Node__]
+    ]
+    [
+        [Child copy creation]
+        [[reference__nary_node_base__add_child_copy]]
+        [__N_ary_Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__nary_node_base__begin__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__nary_node_base__begin]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__nary_node_base__end__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__nary_node_base__end]]
+        [__Tree_Node__]
+    ]
+    [
+        [Leaf node query]
+        [[reference__nary_node_base__empty]]
+        [__Tree_Node__]
+    ]
+    [
+        [Remove all children]
+        [[reference__nary_node_base__clear]]
+        [__Tree_Node__]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [__tree_node_base__]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [__tree_node_base__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+None beyond those inherited from __nary_node_base__.
+[endsect]
+
+[section Example]
+<__example_nary_node_cpp__>
+[endsect]
+
+[endsect] [/ nary_node]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_nary_node_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_nary_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,262 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:nary_node_base `nary_node_base<Derived,T,Selector>`]
+
+[section Description]
+The __nary_node__ class template inherits its functionality from this class
+template.  They differ only with regard to template parameters: the
+__nary_node__ class template is meant to be used directly as a data structure,
+while `nary_node_base` is more suitable as a base class template from which
+__Tree_Node__ adaptor class templates can derive via the __nary_node_gen__
+__Type_Generator__.
+
+[important
+    This component depends on __Boost_Utility_ContainerGen__, which is not yet
+    a part of Boost.  For now, you must perform a Subversion checkout from the
+    __SVN_Trac__.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_nary_node_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+    [
+        [`T`]
+        [The data type.]
+        []
+        []
+    ]
+    [
+        [`Selector`]
+        [
+            The type that determines the internal container types whose value
+            types are the same as the pointer type.
+        ]
+        [
+            It must be a type for which __container_gen__ returns a valid
+            container.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __N_ary_Tree_Node__
+  * __Base_Tree_Node__
+  * __Default_Constructible__ if `T` is __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__ if `T` is __Assignable__
+  * __Movable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__nary_node_base__bases]
+[endsect]
+
+[section:members Public Members]
+[table
+    [[Name][Definition][Where defined]]
+    [
+        [Data type]
+        [[reference__nary_node_base__traits]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer type]
+        [[reference__nary_node_base__pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Pointer-to-const type]
+        [[reference__nary_node_base__const_pointer]]
+        [__Tree_Node__]
+    ]
+    [
+        [Iterator type]
+        [[reference__nary_node_base__iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Immutable iterator type]
+        [[reference__nary_node_base__const_iterator]]
+        [__Non_Associative_Tree_Node__]
+    ]
+    [
+        [Default constructor]
+        [[reference__nary_node_base__default_ctor]]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor with data]
+        [[reference__nary_node_base__data_ctor]]
+        [__Base_Tree_Node__]
+    ]
+    [
+        [Copy constructor]
+        [[reference__nary_node_base__copy_ctor]]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Move constructor]
+        [`nary_node_base(nary_node_base&&);`]
+        [__Movable__]
+    ]
+    [
+        [Assignment operator]
+        [`nary_node_base& operator=(nary_node_base const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Move assignment operator]
+        [`nary_node_base& operator=(nary_node_base&&);`]
+        [__Movable__]
+    ]
+    [
+        [Data access]
+        [[reference__nary_node_base__get_data__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Data access]
+        [[reference__nary_node_base__get_data]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__nary_node_base__get_parent_ptr__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Parent access]
+        [[reference__nary_node_base__get_parent_ptr]]
+        [__Tree_Node__]
+    ]
+    [
+        [Child creation with data]
+        [[reference__nary_node_base__add_child__data]]
+        [__N_ary_Tree_Node__]
+    ]
+    [
+        [Child creation]
+        [[reference__nary_node_base__add_child]]
+        [__N_ary_Tree_Node__]
+    ]
+    [
+        [Child copy creation]
+        [[reference__nary_node_base__add_child_copy]]
+        [__N_ary_Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__nary_node_base__begin__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range begin access]
+        [[reference__nary_node_base__begin]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__nary_node_base__end__const]]
+        [__Tree_Node__]
+    ]
+    [
+        [Children range past-the-end access]
+        [[reference__nary_node_base__end]]
+        [__Tree_Node__]
+    ]
+    [
+        [Leaf node query]
+        [[reference__nary_node_base__empty]]
+        [__Tree_Node__]
+    ]
+    [
+        [Remove all children]
+        [[reference__nary_node_base__clear]]
+        [__Tree_Node__]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [__tree_node_base__]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [__tree_node_base__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Equality]
+        [[reference__nary_node_base__operator_equals]]
+        [
+            Performs in-order comparison of the data of each of the specified
+            nodes and their descendants, then compares the nodes for structural
+            equality.  Returns `true` if and only if the nodes are
+            lexicographically and structurally equal, `false` otherwise.
+        ]
+    ]
+    [
+        [Inequality]
+        [[reference__nary_node_base__operator_not_equal]]
+        [Equivalent to `!(rhs == lhs)`.]
+    ]
+    [
+        [Less]
+        [[reference__nary_node_base__operator_less_than]]
+        [
+            Performs in-order comparison of the data of each of the specified
+            nodes and their descendants, then compares the nodes for structural
+            inequality.  Returns `true` if and only if the first node is
+            lexicographically less than the second one, or if both nodes are
+            lexicographically equal but the first one is skewed further to the
+            left than the second one, `false` otherwise.
+        ]
+    ]
+    [
+        [Greater]
+        [[reference__nary_node_base__operator_greater_than]]
+        [Equivalent to `rhs < lhs`.]
+    ]
+    [
+        [Less or equal]
+        [[reference__nary_node_base__operator_less_equal]]
+        [Equivalent to `!(rhs < lhs)`.]
+    ]
+    [
+        [Greater or equal]
+        [[reference__nary_node_base__operator_greater_equal]]
+        [Equivalent to `!(lhs < rhs)`.]
+    ]
+]
+[endsect]
+
+[endsect] [/ nary_node_base]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_nary_node_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_nary_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,71 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:nary_node_gen `nary_node_gen<Selector>`]
+
+[section Synopsis]
+[reference__nary_node_gen]
+[endsect]
+
+[section Description]
+TODO.
+
+[important
+    This component depends on __Boost_Utility_ContainerGen__, which is not yet
+    a part of Boost.  For now, you must perform a Subversion checkout from the
+    __SVN_Trac__.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_nary_node_hpp__>
+``
+[endsect]
+
+[section:model_of Model of]
+__Type_Generator__
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Selector`]
+        [
+            The type that determines the internal container types of
+            __nary_node_base__.
+        ]
+        [
+            It must be a type for which __container_gen__ returns a recursive,
+            move_aware container.
+        ]
+        [`boost_dequeS`]
+    ]
+]
+[endsect]
+
+[section:expressions Expression Semantics]
+Let `Derived` be the type that will inherit from __nary_node_base__.
+Let `T` be the data type.
+Let `Selector` be a valid `nary_node_gen` template argument.
+
+``
+    typedef _mpl_apply_wrap2_<nary_node_gen<Selector>,Derived,T>::type r;
+``
+
+[*Return type:] [^_nary_node_base_<Derived,T,Selector>]
+
+[endsect]
+
+[section Complexity]
+Compile time.
+[endsect]
+
+[endsect] [/ nary_node_gen]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_post_order_desc_iter.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_post_order_desc_iter.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,197 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:post_order_desc_iter `post_order_descendant_iterator<Node>`]
+
+[section Synopsis]
+[reference__post_order_descendant_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the descendants of the specified root node in
+post-order fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+D E C F G B
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_post_order_desc_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Tree_Node_Descendant_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Tree_Node_Descendant_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`post_order_descendant_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`post_order_descendant_iterator(Node&);`]
+        [__Tree_Node_Descendant_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            post_order_descendant_iterator(
+                post_order_descendant_iterator<N> const&
+            );
+        ``]
+        [`post_order_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [``
+            post_order_descendant_iterator(
+                post_order_descendant_iterator const&
+            );
+        ``]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [``
+            post_order_descendant_iterator&
+                operator=(post_order_descendant_iterator const&);
+        ``]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`post_order_descendant_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`post_order_descendant_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_post_order_descendant_iterator]]
+        [
+            Constructs and returns a `post_order_descendant_iterator` that will
+            iterate through the descendants of the specified node.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__post_order_iterate_descendants]]
+        [
+            Iterates through the descendants of the specified node in
+            post-order fashion, passing each element dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__post_order_descendant_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__post_order_descendant_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ post_order_descendant_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_post_order_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_post_order_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,188 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:post_order_iterator `post_order_iterator<Node>`]
+
+[section Synopsis]
+[reference__post_order_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the specified root node and all its descendants in
+post-order fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+D E C F G B A
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_post_order_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Full_Tree_Node_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`post_order_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`explicit post_order_iterator(Node&);`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            post_order_iterator(post_order_iterator<N> const&);
+        ``]
+        [`post_order_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [`post_order_iterator(post_order_iterator const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [`post_order_iterator& operator=(post_order_iterator const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`post_order_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`post_order_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_post_order_iterator]]
+        [
+            Constructs and returns a `post_order_iterator` that will iterate
+            through the specified node and its descendants.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__post_order_iterate]]
+        [
+            Iterates through the specified node and its descendants in
+            post-order fashion, passing each node pointer dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__post_order_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__post_order_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ post_order_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_pre_order_desc_iter.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_pre_order_desc_iter.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,197 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:pre_order_desc_iter `pre_order_descendant_iterator<Node>`]
+
+[section Synopsis]
+[reference__pre_order_descendant_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the descendants of the specified root node in
+pre-order fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+C D E B F G
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_pre_order_desc_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Tree_Node_Descendant_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Tree_Node_Descendant_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`pre_order_descendant_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`explicit pre_order_descendant_iterator(Node&);`]
+        [__Tree_Node_Descendant_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            pre_order_descendant_iterator(
+                pre_order_descendant_iterator<N> const&
+            );
+        ``]
+        [`pre_order_descendant_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [``
+            pre_order_descendant_iterator(
+                pre_order_descendant_iterator const&
+            );
+        ``]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [``
+            pre_order_descendant_iterator&
+                operator=(pre_order_descendant_iterator const&);
+        ``]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`pre_order_descendant_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`pre_order_descendant_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_pre_order_descendant_iterator]]
+        [
+            Constructs and returns a `pre_order_descendant_iterator` that will
+            iterate through the descendants of the specified node.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__pre_order_iterate_descendants]]
+        [
+            Iterates through the descendants of the specified node in
+            pre-order fashion, passing each element dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__pre_order_descendant_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__pre_order_descendant_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ pre_order_descendant_iterator]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_pre_order_iterator.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_pre_order_iterator.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,188 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:pre_order_iterator `pre_order_iterator<Node>`]
+
+[section Synopsis]
+[reference__pre_order_iterator]
+[endsect]
+
+[section Description]
+This iterator traverses the specified root node and all its descendants in
+pre-order fashion, e.g. given the following tree representation:
+
+``
+      A
+      |
+  C---+---B
+  |       |
++-+-+   +-+-+
+|   |   |   |
+D   E   F   G
+``
+
+This iterator will traverse the tree nodes in the following order:
+
+``
+A C D E B F G
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_pre_order_iterator_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Node`]
+        [The type of a tree node.]
+        [
+            It must model the __Tree_Node__ concept, but it can be
+            `const`-qualified.
+        ]
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Full_Tree_Node_Iterator__
+  * __Default_Constructible__
+  * __Copy_Constructible__
+  * __Assignable__
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Expression][Where defined]]
+    [
+        [Value type]
+        [`value_type`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Reference type]
+        [`reference`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pointer type]
+        [`pointer`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Distance type]
+        [`difference_type`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Iterator category]
+        [`iterator_category`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Default constructor]
+        [`pre_order_iterator();`]
+        [__Default_Constructible__]
+    ]
+    [
+        [Constructor from node]
+        [`explicit pre_order_iterator(Node&);`]
+        [__Full_Tree_Node_Iterator__]
+    ]
+    [
+        [Conversion constructor]
+        [``
+            template <typename N>
+            pre_order_iterator(pre_order_iterator<N> const&);
+        ``]
+        [`pre_order_iterator`]
+    ]
+    [
+        [Copy constructor]
+        [`pre_order_iterator(pre_order_iterator const&);`]
+        [__Copy_Constructible__]
+    ]
+    [
+        [Assignment operator]
+        [`pre_order_iterator& operator=(pre_order_iterator const&);`]
+        [__Assignable__]
+    ]
+    [
+        [Dereference operator]
+        [`reference operator*() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Indirection operator]
+        [`pointer operator->() const;`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Pre-increment operator]
+        [`pre_order_iterator& operator++();`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Post-increment operator]
+        [`pre_order_iterator operator++(int);`]
+        [__Forward_Iterator__]
+    ]
+    [
+        [Traversal state conversion operator]
+        [[^operator _traversal_state_() const;]]
+        [__Tree_Node_Iterator__]
+    ]
+]
+[endsect] [/ Members]
+
+[section:non_members Non-members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Iterator creation]
+        [[reference__make_pre_order_iterator]]
+        [
+            Constructs and returns a `pre_order_iterator` that will iterate
+            through the specified node and its descendants.
+        ]
+    ]
+    [
+        [Iteration]
+        [[reference__pre_order_iterate]]
+        [
+            Iterates through the specified node and its descendants in
+            pre-order fashion, passing each node pointer dereferenced to
+            the specified __Unary_Function__ object.
+        ]
+    ]
+    [
+        [Equality]
+        [[reference__pre_order_iterator__operator_equals]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+    [
+        [Inequality]
+        [[reference__pre_order_iterator__operator_not_equal]]
+        [Defined by the __Input_Iterator__ concept.]
+    ]
+]
+[endsect]
+
+[endsect] [/ pre_order_iterator]
+
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_assoc_node_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_assoc_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,255 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_associative_node_base `raw_associative_node_base`]
-
-[section Synopsis]
-[reference__raw_associative_node_base]
-[endsect]
-
-[section Description]
-The __raw_associative_node__ class template inherits its functionality from
-this class template.  They differ only with regard to template parameters: the
-__raw_associative_node__ class template is meant to be used directly as a data
-structure, while `raw_associative_node_base` is more suitable as a base class
-template from which __Tree_Node__ adaptor class templates can derive via the
-__raw_associative_node_gen__ __Type_Generator__.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_associative_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-    [
-        [`Key`]
-        [The key type.]
-        []
-        []
-    ]
-    [
-        [`Data`]
-        [The data type.]
-        []
-        []
-    ]
-    [
-        [`AssociativeContainerSelector`]
-        [
-            The type that determines the internal map types whose mapped types
-            are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __associative_container_gen__ returns
-            a valid container.
-        ]
-        [`mapS`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Associative_Tree_Node__
-  * __Base_Tree_Node__
-  * __Cloneable_Tree_Node__
-  * __Default_Constructible__ if `Data` is __Default_Constructible__
-  * __Copy_Constructible__
-  * __Assignable__ if `Data` is __Assignable__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__tree_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Key type]
-        [`typename traits::key_type`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`raw_associative_node_base();`]
-        [__Default_Constructible__]
-    ]
-    [
-        [Constructor with data]
-        [
-            `explicit
-            raw_associative_node_base(typename traits::data_type const&);`
-        ]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Copy constructor]
-        [`raw_associative_node_base(raw_associative_node_base const&);`]
-        [__Copy_Constructible__]
-    ]
-    [
-        [Assignment operator]
-        [
-            `raw_associative_node_base&
-            operator=(raw_associative_node_base const&);`
-        ]
-        [__Assignable__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [
-            `pointer add_child(typename traits::key_type const&,
-            typename traits::data_type const&);`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [
-            `pointer add_child_copy(typename traits::key_type const&,
-            const_pointer const&);`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child search]
-        [
-            `const_child_iterator
-            find_child(typename traits::key_type const&) const;`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search]
-        [`child_iterator find_child(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<const_child_iterator,const_child_iterator>
-            find_children(typename traits::key_type const&) const;]
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<child_iterator,child_iterator>
-            find_children(typename traits::key_type const&);]
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove children]
-        [`std::size_t remove_children(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ raw_associative_node_base]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_assoc_node_gen.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_assoc_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,77 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_associative_node_gen `raw_associative_node_gen`]
-
-[section Synopsis]
-[reference__raw_associative_node_gen]
-[endsect]
-
-[section Description]
-TODO.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_associative_node_hpp__>
-``
-[endsect]
-
-[section:model_of Model of]
-__Type_Generator__
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types of
-            __raw_associative_node_base__.
-        ]
-        [
-            It must be a type for which __associative_container_gen__ returns
-            a valid container.
-        ]
-        [`mapS`]
-    ]
-]
-[endsect]
-
-[section:expressions Expression Semantics]
-Let `Derived` be the type that will inherit from __raw_associative_node_base__.
-Let `Key` be the key type.
-Let `Data` be the data type.
-Let `Selector` be a valid `raw_associative_node_gen` template argument.
-
-``
-    typedef _mpl_apply_wrap3_<
-        raw_associative_node_gen<Selector>
-      , Derived
-      , Key
-      , Data
-    >::type r;
-``
-
-[*Return type:] [^_raw_associative_node_base_<Derived,Key,Data,Selector>]
-
-[endsect]
-
-[section Complexity]
-Compile time.
-[endsect]
-
-[endsect] [/ raw_associative_node_gen]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_associative_node.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_associative_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,248 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_associative_node `raw_associative_node`]
-
-[section Synopsis]
-[reference__raw_associative_node]
-[endsect]
-
-[section Description]
-This class template is suitable for classes or algorithms that need to map keys
-to child nodes in a tree node data structure that does not need to be exposed
-to external code.  Objects of this type can be stored by value, and their
-children can be accessed by their associated keys for fast lookup.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_associative_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Key`]
-        [
-            The type of a key object to be associated with a child of a
-            `raw_associative_node`.
-        ]
-        []
-        []
-    ]
-    [
-        [`Data`]
-        [The type of the object to be stored in a `raw_associative_node`.]
-        []
-        []
-    ]
-    [
-        [`AssociativeContainerSelector`]
-        [
-            The type that determines the internal map types whose mapped types
-            are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __associative_container_gen__ returns
-            a valid container.
-        ]
-        [`mapS`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Associative_Tree_Node__
-  * __Factory_Constructible_Tree_Node__
-  * __Cloneable_Tree_Node__
-  * __Default_Constructible__ if `Data` is __Default_Constructible__
-  * __Copy_Constructible__
-  * __Assignable__ if `Data` is __Assignable__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__raw_associative_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Key type]
-        [`typename traits::key_type`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`raw_associative_node();`]
-        [__Default_Constructible__]
-    ]
-    [
-        [Constructor with data]
-        [`explicit raw_associative_node(typename traits::data_type const&);`]
-        [__Factory_Constructible_Tree_Node__]
-    ]
-    [
-        [Copy constructor]
-        [`raw_associative_node(raw_associative_node const&);`]
-        [__Copy_Constructible__]
-    ]
-    [
-        [Assignment operator]
-        [`raw_associative_node& operator=(raw_associative_node const&);`]
-        [__Assignable__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [
-            `pointer add_child(typename traits::key_type const&,
-            typename traits::data_type const&);`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [
-            `pointer add_child_copy(typename traits::key_type const&,
-            const_pointer const&);`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child search]
-        [
-            `const_child_iterator
-            find_child(typename traits::key_type const&) const;`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search]
-        [`child_iterator find_child(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<const_child_iterator,const_child_iterator>
-            find_children(typename traits::key_type const&) const;]
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<child_iterator,child_iterator>
-            find_children(typename traits::key_type const&);]
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove children]
-        [`std::size_t remove_children(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[section Example]
-<__example_raw_associative_node_cpp__>
-[endsect]
-
-[endsect] [/ raw_associative_node]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,230 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_binary_node `raw_binary_node`]
-
-[section Synopsis]
-[reference__raw_binary_node]
-[endsect]
-
-[section Description]
-This class template is suitable for classes or algorithms that require a
-binary tree node data structure but do not need to expose it to external
-code.  Objects of this type can be stored by value.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_binary_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`T`]
-        [The type of the object to be stored in a `raw_binary_node`.]
-        []
-        []
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Binary_Tree_Node__
-  * __Factory_Constructible_Tree_Node__
-  * __Cloneable_Tree_Node__
-  * __Default_Constructible__ if `T` is __Default_Constructible__
-  * __Copy_Constructible__
-  * __Assignable__ if `T` is __Assignable__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__raw_binary_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`raw_binary_node();`]
-        [__Default_Constructible__]
-    ]
-    [
-        [Constructor with data]
-        [`explicit raw_binary_node(typename traits::data_type const&);`]
-        [__Factory_Constructible_Tree_Node__]
-    ]
-    [
-        [Copy constructor]
-        [`raw_binary_node(raw_binary_node const&);`]
-        [__Copy_Constructible__]
-    ]
-    [
-        [Assignment operator]
-        [`raw_binary_node& operator=(raw_binary_node const&);`]
-        [__Assignable__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Left child creation with data]
-        [`pointer add_left_child(typename traits::data_type const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child creation]
-        [`pointer add_left_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child copy creation]
-        [`pointer add_left_child_copy(const_pointer const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child creation with data]
-        [`pointer add_right_child(typename traits::data_type const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child creation]
-        [`pointer add_right_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child copy creation]
-        [`pointer add_right_child_copy(const_pointer const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child access]
-        [`const_pointer get_left_child() const;`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child access]
-        [`pointer get_left_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child access]
-        [`const_pointer get_right_child() const;`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child access]
-        [`pointer get_right_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Rotate left]
-        [`pointer rotate_left();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Rotate right]
-        [`pointer rotate_right();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Remove left child]
-        [`void remove_left_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Remove right child]
-        [`void remove_right_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[section Example]
-<__example_raw_binary_node_cpp__>
-[endsect]
-
-[endsect] [/ raw_binary_node]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,235 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_binary_node_base `raw_binary_node_base`]
-
-[section Synopsis]
-[reference__raw_binary_node_base]
-[endsect]
-
-[section Description]
-The __raw_binary_node__ class template inherits its functionality from this
-class template.  They differ only with regard to template parameters: the
-__raw_binary_node__ class template is meant to be used directly as a data
-structure, while `raw_binary_node_base` is more suitable as a base class
-template from which __Tree_Node__ adaptor class templates can derive via
-the __raw_binary_node_gen__ __Type_Generator__.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_binary_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-    [
-        [`T`]
-        [The data type.]
-        []
-        []
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Binary_Tree_Node__
-  * __Base_Tree_Node__
-  * __Cloneable_Tree_Node__
-  * __Default_Constructible__ if `T` is __Default_Constructible__
-  * __Copy_Constructible__
-  * __Assignable__ if `T` is __Assignable__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__tree_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`raw_binary_node_base();`]
-        [__Default_Constructible__]
-    ]
-    [
-        [Constructor with data]
-        [`explicit raw_binary_node_base(typename traits::data_type const&);`]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Copy constructor]
-        [`raw_binary_node_base(raw_binary_node_base const&);`]
-        [__Copy_Constructible__]
-    ]
-    [
-        [Assignment operator]
-        [`raw_binary_node_base& operator=(raw_binary_node_base const&);`]
-        [__Assignable__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Left child creation with data]
-        [`pointer add_left_child(typename traits::data_type const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child creation]
-        [`pointer add_left_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child copy creation]
-        [`pointer add_left_child_copy(const_pointer const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child creation with data]
-        [`pointer add_right_child(typename traits::data_type const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child creation]
-        [`pointer add_right_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child copy creation]
-        [`pointer add_right_child_copy(const_pointer const&);`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child access]
-        [`const_pointer get_left_child() const;`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Left child access]
-        [`pointer get_left_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child access]
-        [`const_pointer get_right_child() const;`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Right child access]
-        [`pointer get_right_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Rotate left]
-        [`pointer rotate_left();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Rotate right]
-        [`pointer rotate_right();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Remove left child]
-        [`void remove_left_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Remove right child]
-        [`void remove_right_child();`]
-        [__Binary_Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ raw_binary_node_base]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node_gen.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_binary_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,46 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_binary_node_gen `raw_binary_node_gen`]
-
-[section Synopsis]
-[reference__raw_binary_node_gen]
-[endsect]
-
-[section Description]
-TODO.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_binary_node_hpp__>
-``
-[endsect]
-
-[section:model_of Model of]
-__Type_Generator__
-[endsect]
-
-[section:expressions Expression Semantics]
-Let `Derived` be the type that will inherit from __raw_binary_node_base__.
-Let `T` be the data type.
-
-``
-    typedef _mpl_apply_wrap2_<raw_binary_node_gen,Derived,T>::type r;
-``
-
-[*Return type:] [^_raw_binary_node_base_<Derived,T>]
-
-[endsect]
-
-[section Complexity]
-Compile time.
-[endsect]
-
-[endsect] [/ raw_binary_node_gen]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_node.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,194 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_node `raw_node`]
-
-[section Synopsis]
-[reference__raw_node]
-[endsect]
-
-[section Description]
-This class template is suitable for classes or algorithms that require a tree
-node data structure that can handle an arbitrary number of children but does
-not need to be exposed to external code.  Objects of this type can be stored by
-value.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`T`]
-        [The type of the object to be stored in a `raw_node`.]
-        []
-        []
-    ]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types whose value
-            types are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __container_gen__ returns a valid
-            container.
-        ]
-        [`dequeS`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __N_ary_Tree_Node__
-  * __Factory_Constructible_Tree_Node__
-  * __Cloneable_Tree_Node__
-  * __Default_Constructible__ if `T` is __Default_Constructible__
-  * __Copy_Constructible__
-  * __Assignable__ if `T` is __Assignable__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__raw_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`raw_node();`]
-        [__Default_Constructible__]
-    ]
-    [
-        [Constructor with data]
-        [`explicit raw_node(typename traits::data_type const&);`]
-        [__Factory_Constructible_Tree_Node__]
-    ]
-    [
-        [Copy constructor]
-        [`raw_node(raw_node const&);`]
-        [__Copy_Constructible__]
-    ]
-    [
-        [Assignment operator]
-        [`raw_node& operator=(raw_node const&);`]
-        [__Assignable__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [`pointer add_child(typename traits::data_type const&);`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child();`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [`pointer add_child_copy(const_pointer const&);`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[section Example]
-<__example_raw_node_cpp__>
-[endsect]
-
-[endsect] [/ raw_node]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_node_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,198 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_node_base `raw_node_base`]
-
-[section Synopsis]
-[reference__raw_node_base]
-[endsect]
-
-[section Description]
-The __raw_node__ class template inherits its functionality from this class
-template.  They differ only with regard to template parameters: the
-__raw_node__ class template is meant to be used directly as a data structure,
-while `raw_node_base` is more suitable as a base class template from which
-__Tree_Node__ adaptor class templates can derive via the __raw_node_gen__
-__Type_Generator__.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-    [
-        [`T`]
-        [The data type.]
-        []
-        []
-    ]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types whose value
-            types are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __container_gen__ returns a valid
-            container.
-        ]
-        []
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __N_ary_Tree_Node__
-  * __Base_Tree_Node__
-  * __Cloneable_Tree_Node__
-  * __Default_Constructible__ if `T` is __Default_Constructible__
-  * __Copy_Constructible__
-  * __Assignable__ if `T` is __Assignable__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__tree_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`raw_node_base();`]
-        [__Default_Constructible__]
-    ]
-    [
-        [Constructor with data]
-        [`explicit raw_node_base(typename traits::data_type const&);`]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Copy constructor]
-        [`raw_node_base(raw_node_base const&);`]
-        [__Copy_Constructible__]
-    ]
-    [
-        [Assignment operator]
-        [`raw_node_base& operator=(raw_node_base const&);`]
-        [__Assignable__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [`pointer add_child(typename traits::data_type const&);`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child();`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [`pointer add_child_copy(const_pointer const&);`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ raw_node_base]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_raw_node_gen.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_raw_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,71 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:raw_node_gen `raw_node_gen`]
-
-[section Synopsis]
-[reference__raw_node_gen]
-[endsect]
-
-[section Description]
-TODO.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_raw_node_hpp__>
-``
-[endsect]
-
-[section:model_of Model of]
-__Type_Generator__
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types of
-            __raw_node_base__.
-        ]
-        [
-            It must be a type for which __container_gen__ returns a valid
-            container.
-        ]
-        [`dequeS`]
-    ]
-]
-[endsect]
-
-[section:expressions Expression Semantics]
-Let `Derived` be the type that will inherit from __raw_node_base__.
-Let `T` be the data type.
-Let `Selector` be a valid `raw_node_gen` template argument.
-
-``
-    typedef _mpl_apply_wrap2_<raw_node_gen<Selector>,Derived,T>::type r;
-``
-
-[*Return type:] [^_raw_node_base_<Derived,T,Selector>]
-
-[endsect]
-
-[section Complexity]
-Compile time.
-[endsect]
-
-[endsect] [/ raw_node_gen]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_shared_tree_node_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_shared_tree_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,100 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:shared_tree_node_base `shared_tree_node_base`]
-
-[section Synopsis]
-[reference__shared_tree_node_base]
-[endsect]
-
-[section Description]
-TODO.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_shared_base_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-]
-[endsect]
-
-[section:public_bases Public Base Classes]
-None.
-[endsect]
-
-[section Members]
-[table
-    [[Name][Expression][Scope][Description]]
-    [
-        [Pointer type]
-        [`pointer`]
-        [`public`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [`public`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Shallow update implementation]
-        [`void shallow_update_impl();`]
-        [`protected`]
-        [
-            Subclass types should override this method if they hold data that
-            will change if the tree node and its children are structurally
-            modified.  Does nothing by default.
-        ]
-    ]
-    [
-        [Deep update implementation]
-        [`void deep_update_impl();`]
-        [`protected`]
-        [
-            Subclass types should override this method if they hold data that
-            will change if the tree node and all its descendants (not just its
-            children) are structurally modified.  Does nothing by default.
-        ]
-    ]
-    [
-        [Shallow update]
-        [`void shallow_update_derived();`]
-        [`protected`]
-        [
-            Subclass types should invoke this method after the tree node and
-            its children are structurally modified.  Calls the corresponding
-            implementation method.
-        ]
-    ]
-    [
-        [Deep update]
-        [`void deep_update_derived();`]
-        [`protected`]
-        [
-            Subclass types should invoke this method after the tree node and
-            all its descendants (not just its children) are structurally
-            modified.  Calls the corresponding implementation method.
-        ]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ shared_tree_node_base]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_simple_assoc_node_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_simple_assoc_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,265 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:simple_assoc_node_base `simple_associative_node_base`]
-
-[section Synopsis]
-[reference__simple_associative_node_base]
-[endsect]
-
-[section Description]
-The __simple_associative_node__ class template inherits its functionality from
-this class template.  They differ only with regard to template parameters: the
-__simple_associative_node__ class template is meant to be used directly as a
-data structure, while `simple_associative_node_base` is more suitable as a base
-class template from which __Tree_Node__ adaptor class templates can derive via
-the __simple_associative_node_gen__ __Type_Generator__.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_simple_associative_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-    [
-        [`Key`]
-        [The key type.]
-        []
-        []
-    ]
-    [
-        [`Data`]
-        [The data type.]
-        []
-        []
-    ]
-    [
-        [`AssociativeContainerSelector`]
-        [
-            The type that determines the internal map types whose mapped types
-            are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __associative_container_gen__ returns
-            a valid container.
-        ]
-        []
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Associative_Tree_Node__
-  * __Base_Tree_Node__
-  * __Cloneable_Tree_Node__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__shared_tree_node_base__
-[endsect]
-
-[section Members]
-[table
-    [[Name][Expression][Scope][Where defined]]
-    [
-        [Key type]
-        [`typename traits::key_type`]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`simple_associative_node_base();`]
-        [`protected`]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Constructor with data]
-        [
-            `explicit
-            simple_associative_node_base(typename traits::data_type const&);`
-        ]
-        [`protected`]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [`public`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [
-            `pointer add_child(typename traits::key_type const&,
-            typename traits::data_type const&);`
-        ]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child(typename traits::key_type const&);`]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [
-            `pointer add_child_copy(typename traits::key_type const&,
-            const_pointer const&);`
-        ]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child search]
-        [
-            `const_child_iterator
-            find_child(typename traits::key_type const&) const;`
-        ]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search]
-        [`child_iterator find_child(typename traits::key_type const&);`]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<const_child_iterator,const_child_iterator>
-            find_children(typename traits::key_type const&) const;]
-        ]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<child_iterator,child_iterator>
-            find_children(typename traits::key_type const&);]
-        ]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove children]
-        [`std::size_t remove_children(typename traits::key_type const&);`]
-        [`public`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ simple_associative_node]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_simple_assoc_node_gen.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_simple_assoc_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,78 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:simple_assoc_node_gen `simple_associative_node_gen`]
-
-[section Synopsis]
-[reference__simple_associative_node_gen]
-[endsect]
-
-[section Description]
-TODO.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_simple_associative_node_hpp__>
-``
-[endsect]
-
-[section:model_of Model of]
-__Type_Generator__
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types of
-            __simple_associative_node_base__.
-        ]
-        [
-            It must be a type for which __associative_container_gen__ returns
-            a valid container.
-        ]
-        [`mapS`]
-    ]
-]
-[endsect]
-
-[section:expressions Expression Semantics]
-Let `Derived` be the type that will inherit from
-__simple_associative_node_base__.
-Let `Key` be the key type.
-Let `Data` be the data type.
-Let `Selector` be a valid `simple_associative_node_gen` template argument.
-
-``
-    typedef _mpl_apply_wrap3_<
-        simple_associative_node_gen<Selector>
-      , Derived
-      , Key
-      , Data
-    >::type r;
-``
-
-[*Return type:] [^_simple_associative_node_base_<Derived,Key,Data,Selector>]
-
-[endsect]
-
-[section Complexity]
-Compile time.
-[endsect]
-
-[endsect] [/ simple_associative_node_gen]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_simple_associative_node.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_simple_associative_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,227 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:simple_associative_node `simple_associative_node`]
-
-[section Synopsis]
-[reference__simple_associative_node]
-[endsect]
-
-[section Description]
-This class template is suitable for classes or algorithms that need to map keys
-to child nodes in a tree node data structure that must be exposed to external
-code.  Objects of this type must be stored by
-`simple_associative_node::pointer` and can only be instantiated through
-the __tree_node_factory__ facade or the `clone()` method.  Their children can
-be accessed by their associated keys for fast lookup.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_simple_associative_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Key`]
-        [
-            The type of a key object to be associated with a child of a
-            `simple_associative_node`.
-        ]
-        []
-        []
-    ]
-    [
-        [`Data`]
-        [The type of the object to be stored in a `simple_associative_node`.]
-        []
-        []
-    ]
-    [
-        [`AssociativeContainerSelector`]
-        [
-            The type that determines the internal map types whose mapped types
-            are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __associative_container_gen__ returns
-            a valid container.
-        ]
-        [`mapS`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Associative_Tree_Node__
-  * __Factory_Constructible_Tree_Node__
-  * __Cloneable_Tree_Node__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__simple_associative_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Key type]
-        [`typename traits::key_type`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [
-            `pointer add_child(typename traits::key_type const&,
-            typename traits::data_type const&);`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [
-            `pointer add_child_copy(typename traits::key_type const&,
-            const_pointer const&);`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child search]
-        [
-            `const_child_iterator
-            find_child(typename traits::key_type const&) const;`
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search]
-        [`child_iterator find_child(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<const_child_iterator,const_child_iterator>
-            find_children(typename traits::key_type const&) const;]
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Child search range]
-        [
-            [^_std_pair_<child_iterator,child_iterator>
-            find_children(typename traits::key_type const&);]
-        ]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove children]
-        [`std::size_t remove_children(typename traits::key_type const&);`]
-        [__Associative_Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[section Example]
-<__example_simple_associative_node_cpp__>
-[endsect]
-
-[endsect] [/ simple_associative_node]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_simple_node.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_simple_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,172 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:simple_node `simple_node`]
-
-[section Synopsis]
-[reference__simple_node]
-[endsect]
-
-[section Description]
-This class template is suitable for classes or algorithms that require a tree
-node data structure that can handle an arbitrary number of children and must
-be exposed to external code.  Objects of this type must be stored by
-`simple_node::pointer` and can only be instantiated through the
-__tree_node_factory__ facade or the `clone()` method.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_simple_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`T`]
-        [The type of the object to be stored in a `simple_node`.]
-        []
-        []
-    ]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types whose value
-            types are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __container_gen__ returns a valid
-            container.
-        ]
-        [`dequeS`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __N_ary_Tree_Node__
-  * __Factory_Constructible_Tree_Node__
-  * __Cloneable_Tree_Node__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__simple_node_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Where defined]]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [`pointer add_child(typename traits::data_type const&);`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child();`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [`pointer add_child_copy(const_pointer const&);`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [__Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[section Example]
-<__example_simple_node_cpp__>
-[endsect]
-
-[endsect] [/ simple_node]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_simple_node_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_simple_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,199 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:simple_node_base `simple_node_base`]
-
-[section Synopsis]
-[reference__simple_node_base]
-[endsect]
-
-[section Description]
-The __simple_node__ class template inherits its functionality from this
-class template.  They differ only with regard to template parameters: the
-__simple_node__ class template is meant to be used directly as a data
-structure, while `simple_node_base` is more suitable as a base class
-template from which __Tree_Node__ adaptor class templates can derive via
-the __simple_node_gen__ __Type_Generator__.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_simple_node_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-    [
-        [`T`]
-        [The data type.]
-        []
-        []
-    ]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types whose value
-            types are the same as the pointer type.
-        ]
-        [
-            It must be a type for which __container_gen__ returns a valid
-            container.
-        ]
-        []
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __N_ary_Tree_Node__
-  * __Base_Tree_Node__
-  * __Cloneable_Tree_Node__
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__shared_tree_node_base__
-[endsect]
-
-[section Members]
-[table
-    [[Name][Expression][Scope][Where defined]]
-    [
-        [Data type]
-        [`typename traits::data_type`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [`public`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [`public`]
-        [__Non_Associative_Tree_Node__]
-    ]
-    [
-        [Default constructor]
-        [`simple_node_base();`]
-        [`protected`]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Constructor with data]
-        [`explicit simple_node_base(typename traits::data_type const&);`]
-        [`protected`]
-        [__Base_Tree_Node__]
-    ]
-    [
-        [Clone]
-        [`pointer clone() const;`]
-        [`public`]
-        [__Cloneable_Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type const& get_data() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Data access]
-        [`typename traits::data_type& get_data();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`const_pointer get_parent() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Parent access]
-        [`pointer get_parent();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Child creation with data]
-        [`pointer add_child(typename traits::data_type const&);`]
-        [`public`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child creation]
-        [`pointer add_child();`]
-        [`public`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Child copy creation]
-        [`pointer add_child_copy(const_pointer const&);`]
-        [`public`]
-        [__N_ary_Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`const_child_iterator get_child_begin() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range begin access]
-        [`child_iterator get_child_begin();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`const_child_iterator get_child_end() const;`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Children range past-the-end access]
-        [`child_iterator get_child_end();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-    [
-        [Remove all children]
-        [`void remove_all_children();`]
-        [`public`]
-        [__Tree_Node__]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ simple_node_base]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_simple_node_gen.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_simple_node_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,71 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:simple_node_gen `simple_node_gen`]
-
-[section Synopsis]
-[reference__simple_node_gen]
-[endsect]
-
-[section Description]
-TODO.
-
-[important
-    This component depends on __Boost_Utility_ContainerGen__, which is not yet
-    a part of Boost.  For now, you must perform a Subversion checkout from the
-    __SVN_Trac__.
-]
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_simple_node_hpp__>
-``
-[endsect]
-
-[section:model_of Model of]
-__Type_Generator__
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Selector`]
-        [
-            The type that determines the internal container types of
-            __simple_node_base__.
-        ]
-        [
-            It must be a type for which __container_gen__ returns a valid
-            container.
-        ]
-        [`dequeS`]
-    ]
-]
-[endsect]
-
-[section:expressions Expression Semantics]
-Let `Derived` be the type that will inherit from __simple_node_base__.
-Let `T` be the data type.
-Let `Selector` be a valid `simple_node_gen` template argument.
-
-``
-    typedef _mpl_apply_wrap2_<simple_node_gen<Selector>,Derived,T>::type r;
-``
-
-[*Return type:] [^_simple_node_base_<Derived,T,Selector>]
-
-[endsect]
-
-[section Complexity]
-Compile time.
-[endsect]
-
-[endsect] [/ simple_node_gen]
-
Added: sandbox/tree_node/libs/tree_node/doc/ref_strict_lexicograph_comp.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_strict_lexicograph_comp.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,28 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:strict_lexicograph_comp `strict_lexicographical_compare()`]
+
+[section Synopsis]
+[reference__strict_lexicographical_compare__with_comparators]
+[reference__strict_lexicographical_compare__with_comparator]
+[reference__strict_lexicographical_compare]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_algorithm_lexicographical_compare_hpp__>
+``
+[endsect]
+
+[endsect] [/ strict_lexicographical_compare]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_strictly_equal.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_strictly_equal.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,28 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:strictly_equal `strictly_equal()`]
+
+[section Synopsis]
+[reference__strictly_equal__with_comparators]
+[reference__strictly_equal__with_comparator]
+[reference__strictly_equal]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_algorithm_equal_hpp__>
+``
+[endsect]
+
+[endsect] [/ strictly_equal]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_traversal_state.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_traversal_state.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,34 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:traversal_state `traversal_state`]
+
+[section Synopsis]
+[reference__traversal_state]
+[endsect]
+
+[section Description]
+This enumeration type is the return type of the dereferenceability expression
+defined by each iterator type that this library provides.  The `no_traversal`
+value corresponds to `false` in a boolean context, enabling the iterator types
+to fulfill their runtime requirements for dereferenceability.  The
+`pre_order_traversal` and `post_order_traversal` values are significant because
+the __depth_first_iterator__ traverses each node twice, so algorithms must be
+able to distinguish which state the iterator is in when it traverses a tree
+node.  The `breadth_first_traversal` and `in_order_traversal` values are
+defined for completeness.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_traversal_state_hpp__>
+``
+[endsect]
+
+[endsect] [/ traversal_state]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_tree_node_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_tree_node_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,141 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:tree_node_base `tree_node_base<Derived>`]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_base_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+]
+[endsect]
+
+[section:public_bases Public Base Classes]
+None.
+[endsect]
+
+[section Members]
+[table
+    [[Name][Definition][Scope][Description]]
+    [
+        [Pointer type]
+        [`typedef Derived* pointer;`]
+        [`public`]
+        [Defined by the __Tree_Node__ concept.]
+    ]
+    [
+        [Pointer-to-const type]
+        [`typedef Derived const* const_pointer;`]
+        [`public`]
+        [Defined by the __Tree_Node__ concept.]
+    ]
+    [
+        [Derived access]
+        [`const_pointer get_derived() const;`]
+        [`public`]
+        [Returns `this` as the derived type.]
+    ]
+    [
+        [Derived access]
+        [`pointer get_derived();`]
+        [`public`]
+        [Returns `this` as the derived type.]
+    ]
+    [
+        [Shallow update implementation]
+        [[reference__tree_node_base__shallow_update_impl]]
+        [`protected`]
+        [
+            Subclass types should override this method if they hold data that
+            will change if the tree node and its children are structurally
+            modified.  Does nothing by default.
+        ]
+    ]
+    [
+        [Shallow update]
+        [[reference__tree_node_base__shallow_update_derived]]
+        [`protected`]
+        [
+            Subclass types should invoke this method after the tree node and
+            its children are structurally modified.  Calls the corresponding
+            implementation method.
+        ]
+    ]
+    [
+        [Deep update implementation]
+        [[reference__tree_node_base__deep_update_impl]]
+        [`protected`]
+        [
+            Subclass types should override this method if they hold data that
+            will change if the tree node and all its descendants (not just its
+            children) are structurally modified.  Does nothing by default.
+        ]
+    ]
+    [
+        [Deep update]
+        [[reference__tree_node_base__deep_update_derived]]
+        [`protected`]
+        [
+            Subclass types should invoke this method after the tree node and
+            all its descendants (not just its children) are structurally
+            modified.  Calls the corresponding implementation method.
+        ]
+    ]
+    [
+        [Position update implementation]
+        [[reference__tree_node_base__set_position_impl__true]]
+        [`protected`]
+        [
+            Subclass types should override this method if they store iterators
+            that will remain valid even if any of the siblings of the pointees
+            are removed.  The overriding implementation should simply store the
+            specified position.  Does nothing by default.
+        ]
+    ]
+    [
+        [Position update implementation]
+        [[reference__tree_node_base__set_position_impl__false]]
+        [`protected`]
+        [
+            Subclass types should override this method if they store iterators
+            that may become invalidated if any of the siblings of the pointees
+            are removed.  The overriding implementation should validate the
+            positions of the siblings as well as its own.  Does nothing by
+            default.
+        ]
+    ]
+    [
+        [Position update]
+        [[reference__tree_node_base__set_position_derived]]
+        [`protected`]
+        [
+            Subclass types should invoke this method on their child nodes after
+            they are stored, or on the siblings of those child nodes after they
+            are removed.  Calls the corresponding implementation method.
+        ]
+    ]
+]
+[endsect] [/ Members]
+
+[endsect] [/ tree_node_base]
+
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_with_child_range.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_with_child_range.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,114 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:with_child_range_access `with_child_range_access`]
-
-[section Synopsis]
-[reference__with_child_range_access]
-[endsect]
-
-[section Description]
-This __Tree_Node__ adaptor provides __Boost_Range__ access to its child nodes
-as well as the other operations it inherits.  Objects of this type must be
-stored by `with_child_range_access::pointer` and can only be instantiated
-through the __tree_node_factory__ facade or the `clone()` method if the base
-type models the __Cloneable_Tree_Node__ concept.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_with_child_range_access_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`BaseGenerator`]
-        [
-            The __Metafunction_Class__ from whose return type
-            `with_child_range_access` will ultimately inherit.
-        ]
-        [It must model the __Type_Generator__ concept.]
-        []
-    ]
-    [
-        [`T1`]
-        [The key type if `T2` is specified; the data type otherwise.]
-        []
-        []
-    ]
-    [
-        [`T2`]
-        [The data type if specified; ignored otherwise.]
-        []
-        [`void`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Associative_Tree_Node__ if `T2` is specified;
-    __Non_Associative_Tree_Node__ otherwise
-  * __Factory_Constructible_Tree_Node__
-  * any other concept that the return type of `BaseGenerator` models
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-__with_child_range_access_base__
-[endsect]
-
-[section:members Public Members]
-[table
-    [[Name][Expression][Description]]
-    [
-        [Traits type]
-        [`traits`]
-        [Same as the traits type of the return type of `BaseGenerator`.]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Child range]
-        [
-            [^_std_pair_<const_child_iterator,const_child_iterator>
-            get_children() const;]
-        ]
-        [Returns a __Boost_Range__ over all its child nodes.]
-    ]
-    [
-        [Child range]
-        [[^_std_pair_<child_iterator,child_iterator> get_children();]]
-        [Returns a __Boost_Range__ over all its child nodes.]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ with_child_range_access]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_with_child_range_base.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_with_child_range_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,145 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:with_child_range_acc_base `with_child_range_access_base`]
-
-[section Synopsis]
-[reference__with_child_range_access_base]
-[endsect]
-
-[section Description]
-The __tree_node_with_child_range_access__ class template inherits its
-functionality from this class template.  They differ only with regard
-to template parameters: the __tree_node_with_child_range_access__
-class template is meant to be used directly as a data structure, while
-`with_child_range_access_base` is more suitable as a base class template
-from which other __Tree_Node__ adaptor class templates can derive via
-the __tree_node_with_child_range_access_gen__ __Type_Generator__.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_with_child_range_access_hpp__>
-``
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`Derived`]
-        [The most descendant type that will inherit from this one.]
-        []
-        []
-    ]
-    [
-        [`BaseGenerator`]
-        [
-            The __Metafunction_Class__ from whose return type
-            `with_child_range_access_base` will inherit.
-        ]
-        [It must model the __Type_Generator__ concept.]
-        []
-    ]
-    [
-        [`T1`]
-        [The key type if `T2` is specified; the data type otherwise.]
-        []
-        []
-    ]
-    [
-        [`T2`]
-        [The data type if specified; ignored otherwise.]
-        []
-        [`void`]
-    ]
-]
-[endsect]
-
-[section:model_of Model of]
-
-  * __Associative_Tree_Node__ if `T2` is specified;
-    __Non_Associative_Tree_Node__ otherwise
-  * __Base_Tree_Node__
-  * any other concept that the return type of `BaseGenerator` models
-
-[endsect]
-
-[section:public_bases Public Base Classes]
-[^_mpl_apply_wrap3_<BaseGenerator,Derived,T1,T2>::type] if `T2` is specified;
-otherwise [^_mpl_apply_wrap2_<BaseGenerator,Derived,T1>::type]
-[endsect]
-
-[section Members]
-[table
-    [[Name][Expression][Scope][Description]]
-    [
-        [Traits type]
-        [`traits`]
-        [`public`]
-        [Same as the traits type of the return type of `BaseGenerator`.]
-    ]
-    [
-        [Pointer type]
-        [`pointer`]
-        [`public`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Pointer-to-const type]
-        [`const_pointer`]
-        [`public`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Child iterator type]
-        [`child_iterator`]
-        [`public`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Immutable child iterator type]
-        [`const_child_iterator`]
-        [`public`]
-        [Defined by the __Tree_Node__ concept.]
-    ]
-    [
-        [Default constructor]
-        [`with_child_range_access_base();`]
-        [`protected`]
-        [Defined by the __Base_Tree_Node__ concept.]
-    ]
-    [
-        [Constructor with data]
-        [
-            `explicit
-            with_child_range_access_base(typename traits::data_type const&);`
-        ]
-        [`protected`]
-        [Defined by the __Base_Tree_Node__ concept.]
-    ]
-    [
-        [Child range]
-        [
-            [^_std_pair_<const_child_iterator,const_child_iterator>
-            get_children() const;]
-        ]
-        [`public`]
-        [Returns a __Boost_Range__ over all its child nodes.]
-    ]
-    [
-        [Child range]
-        [[^_std_pair_<child_iterator,child_iterator> get_children();]]
-        [`public`]
-        [Returns a __Boost_Range__ over all its child nodes.]
-    ]
-]
-[endsect] [/ Members]
-
-[endsect] [/ with_child_range_access_base]
-
Deleted: sandbox/tree_node/libs/tree_node/doc/ref_with_child_range_gen.qbk
==============================================================================
--- sandbox/tree_node/libs/tree_node/doc/ref_with_child_range_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
+++ (empty file)
@@ -1,81 +0,0 @@
-[/=============================================================================
-    Copyright (C) 2011 Cromwell D. Enage
-
-    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])
-=============================================================================/]
-
-[section:with_child_range_acc_gen `with_child_range_access_gen`]
-
-[section Synopsis]
-[reference__with_child_range_access_gen]
-[endsect]
-
-[section Description]
-TODO.
-[endsect]
-
-[section:definition Where defined]
-``
-#include <__boost_tree_node_with_child_range_access_hpp__>
-``
-[endsect]
-
-[section:model_of Model of]
-__Type_Generator__
-[endsect]
-
-[section:tpl_param Template Parameters]
-[table
-    [[Parameter][Description][Requirements][Default]]
-    [
-        [`BaseGenerator`]
-        [
-            The __Metafunction_Class__ from whose return type
-            __tree_node_with_child_range_access_base__ will inherit.
-        ]
-        [It must model the __Type_Generator__ concept.]
-        []
-    ]
-]
-[endsect]
-
-[section:expressions Expression Semantics]
-Let `Derived` be the type that will inherit from
-__tree_node_with_child_range_access_base__.
-Let `Key` be the key type.
-Let `Data` be the data type.
-Let `Selector` be a valid `with_child_range_access_gen` template argument.
-
-``
-    typedef _mpl_apply_wrap3_<
-        with_child_range_access_gen<BaseGenerator>
-      , Derived
-      , Key
-      , Data
-    >::type r;
-``
-
-[*Return type:]
-[^_tree_node_with_child_range_access_base_<Derived,BaseGenerator,Key,Data>]
-
-``
-    typedef _mpl_apply_wrap2_<
-        with_child_range_access_gen<BaseGenerator>
-      , Derived
-      , Data
-    >::type r;
-``
-
-[*Return type:]
-[^_tree_node_with_child_range_access_base_<Derived,BaseGenerator,Data>]
-
-[endsect]
-
-[section Complexity]
-Compile time.
-[endsect]
-
-[endsect] [/ with_child_range_access_gen]
-
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_depth.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_depth.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,119 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_depth `with_depth<BaseGenerator,T1,T2,Depth>`]
+
+[section Description]
+The [*depth] of a tree node can be defined as the magnitude of the difference
+between its ply and that of its deepest descendant.  In addition to the
+operations it inherits from the return type of `BaseGenerator`, this
+__Tree_Node__ adaptor provides constant-time access to the depth of the node by
+updating this information after structural modifications have been performed.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_depth_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type `with_depth`
+            will ultimately inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`T1`]
+        [The key type if `T2` is not `void`; the data type otherwise.]
+        []
+        []
+    ]
+    [
+        [`T2`]
+        [The data type if not `void`; ignored otherwise.]
+        []
+        [`void`]
+    ]
+    [
+        [`Depth`]
+        [The depth type.]
+        []
+        [`std::size_t`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__ if `T2` is not `void`;
+    __Non_Associative_Tree_Node__ otherwise
+  * any other concept that the return type of `BaseGenerator` models
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__with_depth__bases]
+[endsect]
+
+[section:members Public Members]
+In addition to those inherited from the return type of `BaseGenerator`, the
+following members are defined:
+
+[table
+    [[Name][Definition][Description]]
+    [
+        [Default constructor]
+        [[reference__with_depth__default_ctor]]
+        [Defined by the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor with data]
+        [[reference__with_depth__data_ctor]]
+        [Defined by the __Base_Tree_Node__ concept.]
+    ]
+    [
+        [Copy constructor]
+        [`with_depth(with_depth const&);`]
+        [Defined by the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Move constructor]
+        [`with_depth(with_depth&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [`with_depth& operator=(with_depth const&);`]
+        [Defined by the __Assignable__ concept.]
+    ]
+    [
+        [Move assignment operator]
+        [`with_depth& operator=(with_depth&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Depth access]
+        [[reference__with_depth_base__get_depth]]
+        [Returns the depth of this tree node.]
+    ]
+]
+[endsect]
+
+[section:non_members Non-members]
+None beyond those inherited from the return type of `BaseGenerator`.
+[endsect]
+
+[endsect] [/ with_depth]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_depth_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_depth_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,127 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_depth_base `with_depth_base<Derived,BaseGenerator,T1,T2,Depth>`]
+
+[section Description]
+The __tree_node_with_depth__ class template inherits its functionality from
+this class template.  They differ only with regard to template parameters: the
+__tree_node_with_depth__ class template is meant to be used directly as a data
+structure, while `with_depth_base` is more suitable as a base class template
+from which other __Tree_Node__ adaptor class templates can derive via
+the __tree_node_with_depth_gen__ __Type_Generator__.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_depth_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type `with_depth_base`
+            will inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`T1`]
+        [The key type if `T2` is not `void`; the data type otherwise.]
+        []
+        []
+    ]
+    [
+        [`T2`]
+        [The data type if not `void`; ignored otherwise.]
+        []
+        []
+    ]
+    [
+        [`Depth`]
+        [The depth type.]
+        []
+        []
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__ if `T2` is not `void`;
+    __Non_Associative_Tree_Node__ otherwise
+  * __Base_Tree_Node__
+  * any other concept that the return type of `BaseGenerator` models
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__with_depth_base__bases]
+[endsect]
+
+[section Members]
+In addition to those inherited from the return type of `BaseGenerator`, the
+following members are defined:
+
+[table
+    [[Name][Definition][Description]]
+    [
+        [Default constructor]
+        [[reference__with_depth_base__default_ctor]]
+        [Defined by the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor with data]
+        [[reference__with_depth_base__data_ctor]]
+        [Defined by the __Base_Tree_Node__ concept.]
+    ]
+    [
+        [Copy constructor]
+        [`with_depth_base(with_depth_base const&);`]
+        [Defined by the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Move constructor]
+        [`with_depth_base(with_depth_base&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [`with_depth_base& operator=(with_depth_base const&);`]
+        [Defined by the __Assignable__ concept.]
+    ]
+    [
+        [Move assignment operator]
+        [`with_depth_base& operator=(with_depth_base&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Depth access]
+        [[reference__with_depth_base__get_depth]]
+        [Returns the depth of this tree node.]
+    ]
+]
+[endsect]
+
+[section:non_members Non-members]
+None beyond those inherited from the return type of `BaseGenerator`.
+[endsect]
+
+[endsect] [/ with_depth_base]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_depth_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_depth_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,88 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_depth_gen `with_depth_gen<BaseGenerator>`]
+
+[section Synopsis]
+[reference__with_depth_gen]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_depth_hpp__>
+``
+[endsect]
+
+[section:model_of Model of]
+__Type_Generator__
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type
+            __tree_node_with_depth_base__ will inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`Depth`]
+        [The depth type.]
+        []
+        [`std::size_t`]
+    ]
+]
+[endsect]
+
+[section:expressions Expression Semantics]
+Let `Derived` be the type that will inherit from
+__tree_node_with_depth_base__.
+Let `Key` be the key type.
+Let `Data` be the data type.
+Let `BaseGenerator` be a valid first template argument for `with_depth_gen`.
+Let `Depth` be the depth type.
+
+``
+    typedef _mpl_apply_wrap3_<
+        with_depth_gen<BaseGenerator,Depth>
+      , Derived
+      , Key
+      , Data
+    >::type r;
+``
+
+[*Return type:]
+[^_tree_node_with_depth_base_<Derived,BaseGenerator,Key,Data,Depth>]
+
+``
+    typedef _mpl_apply_wrap2_<
+        with_depth_gen<BaseGenerator,Depth>
+      , Derived
+      , Data
+    >::type r;
+``
+
+[*Return type:]
+[^_tree_node_with_depth_base_<Derived,BaseGenerator,Data,void,Depth>]
+
+[endsect]
+
+[section Complexity]
+Compile time.
+[endsect]
+
+[endsect] [/ with_depth_gen]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_position.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_position.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,116 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_position `with_position<BaseGenerator,T1,T2>`]
+
+[section Description]
+This __Tree_Node__ adaptor provides access to its position in its parent's
+range of children as well as the other operations it inherits from the return
+type of `BaseGenerator`.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_position_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type `with_position`
+            will ultimately inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`T1`]
+        [The key type if `T2` is specified; the data type otherwise.]
+        []
+        []
+    ]
+    [
+        [`T2`]
+        [The data type if specified; ignored otherwise.]
+        []
+        [`void`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__ if `T2` is specified;
+    __Non_Associative_Tree_Node__ otherwise
+  * any other concept that the return type of `BaseGenerator` models
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__with_position__bases]
+[endsect]
+
+[section:members Public Members]
+In addition to those inherited from the return type of `BaseGenerator`, the
+following members are defined:
+
+[table
+    [[Name][Definition][Description]]
+    [
+        [Default constructor]
+        [[reference__with_position__default_ctor]]
+        [Defined by the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor with data]
+        [[reference__with_position__data_ctor]]
+        [Defined by the __Base_Tree_Node__ concept.]
+    ]
+    [
+        [Copy constructor]
+        [`with_position(with_position const&);`]
+        [Defined by the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Move constructor]
+        [`with_position(with_position&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [`with_position& operator=(with_position const&);`]
+        [Defined by the __Assignable__ concept.]
+    ]
+    [
+        [Move assignment operator]
+        [`with_position& operator=(with_position&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Position access]
+        [[reference__with_position_base__get_position__const]]
+        [Returns the immutable iterator that points to this tree node.]
+    ]
+    [
+        [Position access]
+        [[reference__with_position_base__get_position]]
+        [Returns the iterator that points to this tree node.]
+    ]
+]
+[endsect]
+
+[section:non_members Non-members]
+None beyond those inherited from the return type of `BaseGenerator`.
+[endsect]
+
+[endsect] [/ with_position]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_position_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_position_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,126 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_position_base `with_position_base<Derived,BaseGenerator,T1,T2>`]
+
+[section Description]
+The __tree_node_with_position__ class template inherits its functionality from
+this class template.  They differ only with regard to template parameters: the
+__tree_node_with_position__ class template is meant to be used directly as a
+data structure, while `with_position_base` is more suitable as a base class
+template from which other __Tree_Node__ adaptor class templates can derive via
+the __tree_node_with_position_gen__ __Type_Generator__.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_position_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type
+            `with_position_base` will inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`T1`]
+        [The key type if `T2` is specified; the data type otherwise.]
+        []
+        []
+    ]
+    [
+        [`T2`]
+        [The data type if specified; ignored otherwise.]
+        []
+        [`void`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__ if `T2` is specified;
+    __Non_Associative_Tree_Node__ otherwise
+  * __Base_Tree_Node__
+  * any other concept that the return type of `BaseGenerator` models
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__with_position_base__bases]
+[endsect]
+
+[section Members]
+In addition to those inherited from the return type of `BaseGenerator`, the
+following members are defined:
+
+[table
+    [[Name][Definition][Description]]
+    [
+        [Default constructor]
+        [[reference__with_position_base__default_ctor]]
+        [Defined by the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor with data]
+        [[reference__with_position_base__data_ctor]]
+        [Defined by the __Base_Tree_Node__ concept.]
+    ]
+    [
+        [Copy constructor]
+        [`with_position_base(with_position_base const&);`]
+        [Defined by the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Move constructor]
+        [`with_position_base(with_position_base&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [`with_position_base& operator=(with_position_base const&);`]
+        [Defined by the __Assignable__ concept.]
+    ]
+    [
+        [Move assignment operator]
+        [`with_position_base& operator=(with_position_base&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Position access]
+        [[reference__with_position_base__get_position__const]]
+        [Returns the immutable iterator that points to this tree node.]
+    ]
+    [
+        [Position access]
+        [[reference__with_position_base__get_position]]
+        [Returns the iterator that points to this tree node.]
+    ]
+]
+[endsect]
+
+[section:non_members Non-members]
+None beyond those inherited from the return type of `BaseGenerator`.
+[endsect]
+
+[endsect] [/ with_position_base]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_position_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_position_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,77 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_position_gen `with_position_gen<BaseGenerator>`]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_position_hpp__>
+``
+[endsect]
+
+[section:model_of Model of]
+__Type_Generator__
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type
+            __tree_node_with_position_base__ will inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+]
+[endsect]
+
+[section:expressions Expression Semantics]
+Let `Derived` be the type that will inherit from
+__tree_node_with_position_base__.
+Let `Key` be the key type.
+Let `Data` be the data type.
+Let `BaseGenerator` be a valid `with_position_gen` template argument.
+
+``
+    typedef _mpl_apply_wrap3_<
+        with_position_gen<BaseGenerator>
+      , Derived
+      , Key
+      , Data
+    >::type r;
+``
+
+[*Return type:]
+[^_tree_node_with_position_base_<Derived,BaseGenerator,Key,Data>]
+
+``
+    typedef _mpl_apply_wrap2_<
+        with_position_gen<BaseGenerator>
+      , Derived
+      , Data
+    >::type r;
+``
+
+[*Return type:]
+[^_tree_node_with_position_base_<Derived,BaseGenerator,Data>]
+
+[endsect]
+
+[section Complexity]
+Compile time.
+[endsect]
+
+[endsect] [/ with_position_gen]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,130 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_rb_flag `with_red_black_flag<BaseGenerator,T1,T2>`]
+
+[section Description]
+In addition to the other operations it inherits from the return type of
+`BaseGenerator`, this __Tree_Node__ adaptor provides access to a flag that
+indicates whether the node is red or black.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_red_black_flag_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type `with_position`
+            will ultimately inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`T1`]
+        [The key type if `T2` is specified; the data type otherwise.]
+        []
+        []
+    ]
+    [
+        [`T2`]
+        [The data type if specified; ignored otherwise.]
+        []
+        [`void`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__ if `T2` is specified;
+    __Non_Associative_Tree_Node__ otherwise
+  * any other concept that the return type of `BaseGenerator` models
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__with_red_black_flag__bases]
+[endsect]
+
+[section:members Public Members]
+In addition to those inherited from the return type of `BaseGenerator`, the
+following members are defined:
+
+[table
+    [[Name][Definition][Description]]
+    [
+        [Default constructor]
+        [[reference__with_red_black_flag__default_ctor]]
+        [Defined by the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor with data]
+        [[reference__with_red_black_flag__data_ctor]]
+        [Defined by the __Base_Tree_Node__ concept.]
+    ]
+    [
+        [Copy constructor]
+        [`with_red_black_flag(with_red_black_flag const&);`]
+        [Defined by the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Move constructor]
+        [`with_red_black_flag(with_red_black_flag&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [`with_red_black_flag& operator=(with_red_black_flag const&);`]
+        [Defined by the __Assignable__ concept.]
+    ]
+    [
+        [Move assignment operator]
+        [`with_red_black_flag& operator=(with_red_black_flag&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Red flag query]
+        [[reference__with_red_black_flag_base__is_red]]
+        [
+            Returns `true` if the flag is set to red, `false` if it is set to
+            black.
+        ]
+    ]
+    [
+        [Black flag query]
+        [[reference__with_red_black_flag_base__is_black]]
+        [
+            Returns `true` if the flag is set to black, `false` if it is set to
+            red.
+        ]
+    ]
+    [
+        [Red flag setting]
+        [[reference__with_red_black_flag_base__set_red_flag]]
+        [
+            Sets the flag to red if the argument evaluates to `true`; sets the
+            flag to black if the argument evaluates to `false`.
+        ]
+    ]
+]
+[endsect]
+
+[section:non_members Non-members]
+None beyond those inherited from the return type of `BaseGenerator`.
+[endsect]
+
+[endsect] [/ with_red_black_flag]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag_base.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag_base.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,142 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_rb_flag_base
+    `with_red_black_flag_base<Derived,BaseGenerator,T1,T2>`
+]
+
+[section Description]
+The __tree_node_with_red_black_flag__ class template inherits its functionality
+from this class template.  They differ only with regard to template parameters:
+the __tree_node_with_red_black_flag__ class template is meant to be used
+directly as a data structure, while `with_red_black_flag_base` is more suitable
+as a base class template from which other __Tree_Node__ adaptor class templates
+can derive via the __tree_node_with_red_black_flag_gen__ __Type_Generator__.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_red_black_flag_hpp__>
+``
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`Derived`]
+        [The most descendant type that will inherit from this one.]
+        []
+        []
+    ]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type
+            `with_red_black_flag_base` will inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+    [
+        [`T1`]
+        [The key type if `T2` is specified; the data type otherwise.]
+        []
+        []
+    ]
+    [
+        [`T2`]
+        [The data type if specified; ignored otherwise.]
+        []
+        [`void`]
+    ]
+]
+[endsect]
+
+[section:model_of Model of]
+
+  * __Associative_Tree_Node__ if `T2` is specified;
+    __Non_Associative_Tree_Node__ otherwise
+  * __Base_Tree_Node__
+  * any other concept that the return type of `BaseGenerator` models
+
+[endsect]
+
+[section:public_bases Public Base Classes]
+[reference__with_red_black_flag_base__bases]
+[endsect]
+
+[section Members]
+[table
+    [[Name][Definition][Description]]
+    [
+        [Default constructor]
+        [[reference__with_red_black_flag_base__default_ctor]]
+        [Defined by the __Default_Constructible__ concept.]
+    ]
+    [
+        [Constructor with data]
+        [[reference__with_red_black_flag_base__data_ctor]]
+        [Defined by the __Base_Tree_Node__ concept.]
+    ]
+    [
+        [Copy constructor]
+        [`with_red_black_flag_base(with_red_black_flag_base const&);`]
+        [Defined by the __Copy_Constructible__ concept.]
+    ]
+    [
+        [Move constructor]
+        [`with_red_black_flag_base(with_red_black_flag_base&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Assignment operator]
+        [
+            `with_red_black_flag_base&
+            operator=(with_red_black_flag_base const&);`
+        ]
+        [Defined by the __Assignable__ concept.]
+    ]
+    [
+        [Move assignment operator]
+        [`with_red_black_flag_base& operator=(with_red_black_flag_base&&);`]
+        [Defined by the __Movable__ concept.]
+    ]
+    [
+        [Red flag query]
+        [[reference__with_red_black_flag_base__is_red]]
+        [
+            Returns `true` if the flag is set to red, `false` if it is set to
+            black.
+        ]
+    ]
+    [
+        [Black flag query]
+        [[reference__with_red_black_flag_base__is_black]]
+        [
+            Returns `true` if the flag is set to black, `false` if it is set to
+            red.
+        ]
+    ]
+    [
+        [Red flag setting]
+        [[reference__with_red_black_flag_base__set_red_flag]]
+        [
+            Sets the flag to red if the argument evaluates to `true`; sets the
+            flag to black if the argument evaluates to `false`.
+        ]
+    ]
+]
+[endsect]
+
+[section:non_members Non-members]
+None beyond those inherited from the return type of `BaseGenerator`.
+[endsect]
+
+[endsect] [/ with_red_black_flag_base]
+
Added: sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/ref_with_rb_flag_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,81 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:with_red_black_flag_gen `with_red_black_flag_gen<BaseGenerator>`]
+
+[section Synopsis]
+[reference__with_red_black_flag_gen]
+[endsect]
+
+[section Description]
+TODO.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_tree_node_with_red_black_flag_hpp__>
+``
+[endsect]
+
+[section:model_of Model of]
+__Type_Generator__
+[endsect]
+
+[section:tpl_param Template Parameters]
+[table
+    [[Parameter][Description][Requirements][Default]]
+    [
+        [`BaseGenerator`]
+        [
+            The __Metafunction_Class__ from whose return type
+            __tree_node_with_red_black_flag_base__ will inherit.
+        ]
+        [It must model the __Type_Generator__ concept.]
+        []
+    ]
+]
+[endsect]
+
+[section:expressions Expression Semantics]
+Let `Derived` be the type that will inherit from
+__tree_node_with_red_black_flag_base__.
+Let `Key` be the key type.
+Let `Data` be the data type.
+Let `BaseGenerator` be a valid `with_red_black_flag_gen` template argument.
+
+``
+    typedef _mpl_apply_wrap3_<
+        with_red_black_flag_gen<BaseGenerator>
+      , Derived
+      , Key
+      , Data
+    >::type r;
+``
+
+[*Return type:]
+[^_tree_node_with_red_black_flag_base_<Derived,BaseGenerator,Key,Data>]
+
+``
+    typedef _mpl_apply_wrap2_<
+        with_red_black_flag_gen<BaseGenerator>
+      , Derived
+      , Data
+    >::type r;
+``
+
+[*Return type:]
+[^_tree_node_with_red_black_flag_base_<Derived,BaseGenerator,Data>]
+
+[endsect]
+
+[section Complexity]
+Compile time.
+[endsect]
+
+[endsect] [/ with_red_black_flag_gen]
+
Added: sandbox/tree_node/libs/tree_node/doc/reference.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/reference.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,102 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section Reference]
+
+[include ref_binary_node.qbk]
+[include ref_binary_node_base.qbk]
+[include ref_binary_node_gen.qbk]
+[include ref_nary_node.qbk]
+[include ref_nary_node_base.qbk]
+[include ref_nary_node_gen.qbk]
+[include ref_associative_node.qbk]
+[include ref_associative_node_base.qbk]
+[include ref_associative_node_gen.qbk]
+[include ref_with_depth.qbk]
+[include ref_with_depth_base.qbk]
+[include ref_with_depth_gen.qbk]
+[include ref_with_position.qbk]
+[include ref_with_position_base.qbk]
+[include ref_with_position_gen.qbk]
+[include ref_with_rb_flag.qbk]
+[include ref_with_rb_flag_base.qbk]
+[include ref_with_rb_flag_gen.qbk]
+[include ref_tree_node_base.qbk]
+[include ref_breadth_first_iterator.qbk]
+[include ref_breadth_first_desc_iter.qbk]
+[include ref_pre_order_iterator.qbk]
+[include ref_pre_order_desc_iter.qbk]
+[include ref_post_order_iterator.qbk]
+[include ref_post_order_desc_iter.qbk]
+[include ref_in_order_iterator.qbk]
+[include ref_depth_first_iterator.qbk]
+[include ref_depth_first_desc_iter.qbk]
+[include ref_traversal_state.qbk]
+[include ref_dereference_iterator.qbk]
+[include ref_equal.qbk]
+[include ref_strictly_equal.qbk]
+[include ref_lexicographical_compare.qbk]
+[include ref_strict_lexicograph_comp.qbk]
+
+[heading Data Structures]
+
+  * __binary_node__
+  * __nary_node__
+  * __associative_node__
+
+[heading Adaptor Types]
+
+  * __tree_node_with_depth__
+  * __tree_node_with_position__
+  * __tree_node_with_red_black_flag__
+
+[heading Base Types]
+
+  * __tree_node_base__
+  * __binary_node_base__
+  * __nary_node_base__
+  * __associative_node_base__
+  * __tree_node_with_depth_base__
+  * __tree_node_with_position_base__
+  * __tree_node_with_red_black_flag_base__
+
+[heading Type Generators]
+
+  * __binary_node_gen__
+  * __nary_node_gen__
+  * __associative_node_gen__
+  * __tree_node_with_depth_gen__
+  * __tree_node_with_position_gen__
+  * __tree_node_with_red_black_flag_gen__
+
+[heading Iterator Types]
+
+  * __breadth_first_iterator__
+  * __breadth_first_descendant_iterator__
+  * __pre_order_iterator__
+  * __pre_order_descendant_iterator__
+  * __post_order_iterator__
+  * __post_order_descendant_iterator__
+  * __in_order_iterator__
+  * __depth_first_iterator__
+  * __depth_first_descendant_iterator__
+
+[heading Enum Types]
+
+  * __traversal_state__
+
+[heading Functions]
+
+  * __dereference_iterator__
+  * __tree_node_equal__
+  * __tree_node_strictly_equal__
+  * __tree_node_lexicographical_compare__
+  * __tree_node_strict_lexicographical_compare__
+
+[endsect] [/ Reference]
+
Added: sandbox/tree_node/libs/tree_node/doc/tree_node.qbk
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/doc/tree_node.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,222 @@
+[library tree_node
+    [quickbook 1.5]
+    [version 0.3]
+    [authors [Enage, Cromwell D.]]
+    [copyright 2011-2012 Cromwell D. Enage]
+    [purpose Low-level tree node framework]
+    [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])
+    ]
+]
+
+[/ General links.]
+[def __Runtime_Complexity__ [@http://en.wikipedia.org/wiki/Amortized_analysis Runtime Complexity]]
+
+[/ General concept links.]
+[def __Default_Constructible__ [@http://www.sgi.com/tech/stl/DefaultConstructible.html [*Default Constructible]]]
+[def __Trivial_Iterator__ [@http://www.sgi.com/tech/stl/trivial.html [*Trivial Iterator]]]
+[def __Input_Iterator__ [@http://www.sgi.com/tech/stl/InputIterator.html [*Input Iterator]]]
+[def __Forward_Iterator__ [@http://www.sgi.com/tech/stl/ForwardIterator.html [*Forward Iterator]]]
+[def __Reverse_Iterator__ [@http://www.sgi.com/tech/stl/ReverseIterator.html [*Reverse Iterator]]]
+[def __Bidirectional_Iterator__ [@http://www.sgi.com/tech/stl/BidirectionalIterator.html [*Bidirectional Iterator]]]
+[def __Container__ [@http://www.sgi.com/tech/stl/Container.html [*Container]]]
+[def __Unary_Function__ [@http://www.sgi.com/tech/stl/UnaryFunction.html [*Unary Function]]]
+[def __Equality_Comparable__ [@http://www.sgi.com/tech/stl/EqualityComparable.html [*Equality Comparable]]]
+[def __Less_Than_Comparable__ [@http://www.sgi.com/tech/stl/LessThanComparable.html [*Less-Than Comparable]]]
+
+[/ STL reference links.]
+[def __std_pair__ [@http://www.sgi.com/tech/stl/pair.html `std::pair`]]
+[def _std_pair_ [@http://www.sgi.com/tech/stl/pair.html std::pair]]
+
+[/ Boost library and installation links.]
+[def __Boost_Range__ [@boost:libs/range/doc/html/index.html [*Boost.Range]]]
+[def __Build__ [@boost:more/getting_started.html Build]]
+[def __build__ [@boost:more/getting_started.html build]]
+[def __Boost_Test__ [@boost:libs/test/doc/index.html [*Boost.Test]]]
+[def __SVN_Trac__ [@http://svn.boost.org/ SVN Trac]]
+[def __Boost_Utility_ContainerGen__ [@http://svn.boost.org/svn/boost/sandbox/utility-container_gen/libs/utility/container_gen/doc/html/index.html [*Boost.Utility.ContainerGen]]]
+
+[/ Boost concept links.]
+[def __Copy_Constructible__ [@boost:libs/utility/CopyConstructible.html [*Copy Constructible]]]
+[def __Assignable__ [@boost:libs/utility/Assignable.html [*Assignable]]]
+[def __Movable__ [@boost:doc/html/move.html [*Movable]]]
+[def __Boolean_Integral_Constant__ [@boost:libs/mpl/doc/refmanual/integral-constant.html [*Boolean Integral Constant]]]
+[def __Metafunction_Class__ [@boost:libs/mpl/doc/refmanual/metafunction-class.html [*Metafunction Class]]]
+[def __Binary_Metafunction_Class__ [@boost:libs/mpl/doc/refmanual/metafunction-class.html [*Binary Metafunction Class]]]
+[def __Trinary_Metafunction_Class__ [@boost:libs/mpl/doc/refmanual/metafunction-class.html [*Trinary Metafunction Class]]]
+
+[/ Boost reference links in text.]
+
+[/ Boost reference links in code.]
+[def __mpl_true__ [@boost:libs/mpl/doc/refmanual/bool.html `boost::mpl::true_`]]
+[def _mpl_true_ [@boost:libs/mpl/doc/refmanual/bool.html boost::mpl::true_]]
+[def __mpl_false__ [@boost:libs/mpl/doc/refmanual/bool.html `boost::mpl::false_`]]
+[def _mpl_false_ [@boost:libs/mpl/doc/refmanual/bool.html boost::mpl::false_]]
+[def _mpl_apply_wrap2_ [@boost:libs/mpl/doc/refmanual/apply-wrap.html boost::mpl::apply_wrap2]]
+[def _mpl_apply_wrap3_ [@boost:libs/mpl/doc/refmanual/apply-wrap.html boost::mpl::apply_wrap3]]
+[def _mpl_equal_to_ [@boost:libs/mpl/doc/refmanual/equal_to.html boost::mpl::equal_to]]
+[def _enable_if_ [@boost:libs/utility/enable_if.html `enable_if`]]
+[def __container_gen__ [@http://svn.boost.org/svn/boost/sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/container_gen.html `container_gen`]]
+[def __associative_container_gen__ [@http://svn.boost.org/svn/boost/sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/associative_container_gen.html `associative_container_gen`]]
+
+[/ Boost.TreeNode header and source file links.]
+[def __boost_tree_node_base_hpp__ [@../../../../boost/tree_node/base.hpp boost/tree_node/base.hpp]]
+[def __boost_tree_node_binary_node_hpp__ [@../../../../boost/tree_node/binary_node.hpp boost/tree_node/binary_node.hpp]]
+[def __boost_tree_node_nary_node_hpp__ [@../../../../boost/tree_node/nary_node.hpp boost/tree_node/nary_node.hpp]]
+[def __boost_tree_node_associative_node_hpp__ [@../../../../boost/tree_node/associative_node.hpp boost/tree_node/associative_node.hpp]]
+[def __boost_tree_node_with_depth_hpp__ [@../../../../boost/tree_node/with_depth.hpp boost/tree_node/with_depth.hpp]]
+[def __boost_tree_node_with_position_hpp__ [@../../../../boost/tree_node/with_position.hpp boost/tree_node/with_position.hpp]]
+[def __boost_tree_node_with_red_black_flag_hpp__ [@../../../../boost/tree_node/with_red_black_flag.hpp boost/tree_node/with_red_black_flag.hpp]]
+[def __boost_tree_node_breadth_first_iterator_hpp__ [@../../../../boost/tree_node/breadth_first_iterator.hpp boost/tree_node/breadth_first_iterator.hpp]]
+[def __boost_tree_node_breadth_first_desc_iterator_hpp__ [@../../../../boost/tree_node/breadth_first_iterator.hpp boost/tree_node/breadth_first_desc_iterator.hpp]]
+[def __boost_tree_node_pre_order_iterator_hpp__ [@../../../../boost/tree_node/pre_order_iterator.hpp boost/tree_node/pre_order_iterator.hpp]]
+[def __boost_tree_node_pre_order_desc_iterator_hpp__ [@../../../../boost/tree_node/pre_order_iterator.hpp boost/tree_node/pre_order_desc_iterator.hpp]]
+[def __boost_tree_node_post_order_iterator_hpp__ [@../../../../boost/tree_node/post_order_iterator.hpp boost/tree_node/post_order_iterator.hpp]]
+[def __boost_tree_node_post_order_desc_iterator_hpp__ [@../../../../boost/tree_node/post_order_iterator.hpp boost/tree_node/post_order_desc_iterator.hpp]]
+[def __boost_tree_node_in_order_iterator_hpp__ [@../../../../boost/tree_node/in_order_iterator.hpp boost/tree_node/in_order_iterator.hpp]]
+[def __boost_tree_node_depth_first_iterator_hpp__ [@../../../../boost/tree_node/depth_first_iterator.hpp boost/tree_node/depth_first_iterator.hpp]]
+[def __boost_tree_node_depth_first_desc_iterator_hpp__ [@../../../../boost/tree_node/depth_first_iterator.hpp boost/tree_node/depth_first_desc_iterator.hpp]]
+[def __boost_tree_node_traversal_state_hpp__ [@../../../../boost/tree_node/traversal_state.hpp boost/tree_node/traversal_state.hpp]]
+[def __boost_tree_node_algorithm_dereference_iterator_hpp__ [@../../../../boost/tree_node/algorithm/dereference_iterator.hpp boost/tree_node/algorithm/dereference_iterator.hpp]]
+[def __boost_tree_node_algorithm_equal_hpp__ [@../../../../boost/tree_node/algorithm/equal.hpp boost/tree_node/algorithm/equal.hpp]]
+[def __boost_tree_node_algorithm_lexicographical_compare_hpp__ [@../../../../boost/tree_node/algorithm/lexicographical_compare.hpp boost/tree_node/algorithm/lexicographical_compare.hpp]]
+[def __example_default_unconstruct_type_hpp__ [@../../example/default_unconstruct_type.hpp example/default_unconstruct_type.hpp]]
+[def __example_default_unconstruct_type_cpp__ [@../../example/default_unconstruct_type.cpp example/default_unconstruct_type.cpp]]
+[def __example_show_functions_hpp__ [@../../example/show_functions.hpp example/show_functions.hpp]]
+[def __example_show_functions_cpp__ [@../../example/show_functions.cpp example/show_functions.cpp]]
+[def __example_showcase_iterators_hpp__ [@../../example/showcase_iterators.hpp example/showcase_iterators.hpp]]
+[def __example_showcase_desc_iterators_hpp__ [@../../example/showcase_desc_iterators.hpp example/showcase_desc_iterators.hpp]]
+[def __example_binary_node_cpp__ [@../../example/binary_node.cpp example/binary_node.cpp]]
+[def __example_nary_node_cpp__ [@../../example/nary_node.cpp example/nary_node.cpp]]
+[def __example_associative_node_cpp__ [@../../example/associative_node.cpp example/associative_node.cpp]]
+
+[/ Boost.TreeNode concept links.]
+[def __Tree_Node__ [link tree_node.concepts.tree_node [*Tree Node]]]
+[def __Base_Tree_Node__ [link tree_node.concepts.base_tree_node [*Base Tree Node]]]
+[def __Associative_Tree_Node__ [link tree_node.concepts.associative_tree_node [*Associative Tree Node]]]
+[def __Non_Associative_Tree_Node__ [link tree_node.concepts.non_assoc_tree_node [*Non-Associative Tree Node]]]
+[def __Binary_Tree_Node__ [link tree_node.concepts.binary_tree_node [*Binary Tree Node]]]
+[def __N_ary_Tree_Node__ [link tree_node.concepts.nary_tree_node [*N-ary Tree Node]]]
+[def __Type_Generator__ [link tree_node.concepts.type_generator [*Type Generator]]]
+[def __Tree_Node_Iterator__ [link tree_node.concepts.tree_node_iterator [*Tree Node Iterator]]]
+[def __Full_Tree_Node_Iterator__ [link tree_node.concepts.full_tree_node_iterator [*Full Tree Node Iterator]]]
+[def __Tree_Node_Descendant_Iterator__ [link tree_node.concepts.tree_node_desc_iterator [*Tree Node Descendant Iterator]]]
+
+[/ Boost.TreeNode reference links.]
+[def __tree_node_base__ [link tree_node.reference.tree_node_base `tree_node_base`]]
+[def _tree_node_base_ [link tree_node.reference.tree_node_base tree_node_base]]
+[def __binary_node_base__ [link tree_node.reference.binary_node_base `binary_node_base`]]
+[def _binary_node_base_ [link tree_node.reference.binary_node_base binary_node_base]]
+[def __binary_node__ [link tree_node.reference.binary_node `binary_node`]]
+[def _binary_node_ [link tree_node.reference.binary_node binary_node]]
+[def __binary_node_gen__ [link tree_node.reference.binary_node_gen `binary_node_gen`]]
+[def _binary_node_gen_ [link tree_node.reference.binary_node_gen binary_node_gen]]
+[def __nary_node_base__ [link tree_node.reference.nary_node_base `nary_node_base`]]
+[def _nary_node_base_ [link tree_node.reference.nary_node_base nary_node_base]]
+[def __nary_node__ [link tree_node.reference.nary_node `nary_node`]]
+[def _nary_node_ [link tree_node.reference.nary_node nary_node]]
+[def __nary_node_gen__ [link tree_node.reference.nary_node_gen `nary_node_gen`]]
+[def _nary_node_gen_ [link tree_node.reference.nary_node_gen nary_node_gen]]
+[def __associative_node_base__ [link tree_node.reference.associative_node_base `associative_node_base`]]
+[def _associative_node_base_ [link tree_node.reference.associative_node_base associative_node_base]]
+[def __associative_node__ [link tree_node.reference.associative_node `associative_node`]]
+[def _associative_node_ [link tree_node.reference.associative_node associative_node]]
+[def __associative_node_gen__ [link tree_node.reference.associative_node_gen `associative_node_gen`]]
+[def _associative_node_gen_ [link tree_node.reference.associative_node_gen associative_node_gen]]
+[def __tree_node_with_depth_base__ [link tree_node.reference.with_depth_base `with_depth_base`]]
+[def _tree_node_with_depth_base_ [link tree_node.reference.with_depth_base with_depth_base]]
+[def __tree_node_with_depth__ [link tree_node.reference.with_depth `with_depth`]]
+[def _tree_node_with_depth_ [link tree_node.reference.with_depth with_depth]]
+[def __tree_node_with_depth_gen__ [link tree_node.reference.with_depth_gen `with_depth_gen`]]
+[def _tree_node_with_depth_gen_ [link tree_node.reference.with_depth_gen with_depth_gen]]
+[def __tree_node_with_position_base__ [link tree_node.reference.with_position_base `with_position_base`]]
+[def _tree_node_with_position_base_ [link tree_node.reference.with_position_base with_position_base]]
+[def __tree_node_with_position__ [link tree_node.reference.with_position `with_position`]]
+[def _tree_node_with_position_ [link tree_node.reference.with_position with_position]]
+[def __tree_node_with_position_gen__ [link tree_node.reference.with_position_gen `with_position_gen`]]
+[def _tree_node_with_position_gen_ [link tree_node.reference.with_position_gen with_position_gen]]
+[def __tree_node_with_red_black_flag_base__ [link tree_node.reference.with_rb_flag_base `with_red_black_flag_base`]]
+[def _tree_node_with_red_black_flag_base_ [link tree_node.reference.with_rb_flag_base with_red_black_flag_base]]
+[def __tree_node_with_red_black_flag__ [link tree_node.reference.with_rb_flag `with_red_black_flag`]]
+[def _tree_node_with_red_black_flag_ [link tree_node.reference.with_rb_flag with_red_black_flag]]
+[def __tree_node_with_red_black_flag_gen__ [link tree_node.reference.with_rb_flag `with_red_black_flag_gen`]]
+[def _tree_node_with_red_black_flag_gen_ [link tree_node.reference.with_rb_flag with_red_black_flag_gen]]
+[def __breadth_first_iterator__ [link tree_node.reference.breadth_first_iterator `breadth_first_iterator`]]
+[def _breadth_first_iterator_ [link tree_node.reference.breadth_first_iterator breadth_first_iterator]]
+[def __breadth_first_descendant_iterator__ [link tree_node.reference.breadth_first_desc_iter `breadth_first_descendant_iterator`]]
+[def _breadth_first_descendant_iterator_ [link tree_node.reference.breadth_first_desc_iter breadth_first_descendant_iterator]]
+[def __pre_order_iterator__ [link tree_node.reference.pre_order_iterator `pre_order_iterator`]]
+[def _pre_order_iterator_ [link tree_node.reference.pre_order_iterator pre_order_iterator]]
+[def __pre_order_descendant_iterator__ [link tree_node.reference.pre_order_desc_iter `pre_order_descendant_iterator`]]
+[def _pre_order_descendant_iterator_ [link tree_node.reference.pre_order_desc_iter pre_order_descendant_iterator]]
+[def __post_order_iterator__ [link tree_node.reference.post_order_iterator `post_order_iterator`]]
+[def _post_order_iterator_ [link tree_node.reference.post_order_iterator post_order_iterator]]
+[def __post_order_descendant_iterator__ [link tree_node.reference.post_order_desc_iter `post_order_descendant_iterator`]]
+[def _post_order_descendant_iterator_ [link tree_node.reference.post_order_desc_iter post_order_descendant_iterator]]
+[def __in_order_iterator__ [link tree_node.reference.in_order_iterator `in_order_iterator`]]
+[def _in_order_iterator_ [link tree_node.reference.in_order_iterator in_order_iterator]]
+[def __depth_first_iterator__ [link tree_node.reference.depth_first_iterator `depth_first_iterator`]]
+[def _depth_first_iterator_ [link tree_node.reference.depth_first_iterator depth_first_iterator]]
+[def __depth_first_descendant_iterator__ [link tree_node.reference.depth_first_desc_iter `depth_first_descendant_iterator`]]
+[def _depth_first_descendant_iterator_ [link tree_node.reference.depth_first_desc_iter depth_first_descendant_iterator]]
+[def __traversal_state__ [link tree_node.reference.traversal_state `traversal_state`]]
+[def _traversal_state_ [link tree_node.reference.traversal_state traversal_state]]
+[def __dereference_iterator__ [link tree_node.reference.dereference_iterator `dereference_iterator()`]]
+[def __tree_node_equal__ [link tree_node.reference.equal `equal()`]]
+[def __tree_node_strictly_equal__ [link tree_node.reference.strictly_equal `strictly_equal()`]]
+[def __tree_node_lexicographical_compare__ [link tree_node.reference.lexicographical_compare `lexicographical_compare()`]]
+[def __tree_node_strict_lexicographical_compare__ [link tree_node.reference.strict_lexicograph_comp `strict_lexicographical_compare()`]]
+
+[/ Autogenerate concept and reference documentation directly from code.]
+[/ Bypass Doxygen.]
+[import ../../../boost/tree_node/base.hpp]
+[import ../../../boost/tree_node/binary_node.hpp]
+[import ../../../boost/tree_node/nary_node.hpp]
+[import ../../../boost/tree_node/associative_node.hpp]
+[import ../../../boost/tree_node/with_depth.hpp]
+[import ../../../boost/tree_node/with_position.hpp]
+[import ../../../boost/tree_node/with_red_black_flag.hpp]
+[import ../../../boost/tree_node/breadth_first_iterator.hpp]
+[import ../../../boost/tree_node/breadth_first_desc_iterator.hpp]
+[import ../../../boost/tree_node/pre_order_iterator.hpp]
+[import ../../../boost/tree_node/pre_order_desc_iterator.hpp]
+[import ../../../boost/tree_node/post_order_iterator.hpp]
+[import ../../../boost/tree_node/post_order_desc_iterator.hpp]
+[import ../../../boost/tree_node/in_order_iterator.hpp]
+[import ../../../boost/tree_node/depth_first_iterator.hpp]
+[import ../../../boost/tree_node/depth_first_desc_iterator.hpp]
+[import ../../../boost/tree_node/traversal_state.hpp]
+[import ../../../boost/tree_node/algorithm/dereference_iterator.hpp]
+[import ../../../boost/tree_node/algorithm/equal.hpp]
+[import ../../../boost/tree_node/algorithm/lexicographical_compare.hpp]
+[import ../example/default_unconstruct_type.hpp]
+[import ../example/default_unconstruct_type.cpp]
+[import ../example/show_functions.hpp]
+[import ../example/show_functions.cpp]
+[import ../example/showcase_iterators.hpp]
+[import ../example/showcase_desc_iterators.hpp]
+[import ../example/binary_node.cpp]
+[import ../example/nary_node.cpp]
+[import ../example/associative_node.cpp]
+
+[/ index.html Start]
+
+[heading Rationale]
+Over the course of reimplementing a decision tree learning algorithm to use
+modern C++ techniques, the need for a generic tree library became evident.  The
+in-house data structures in use at the time were undergoing modification as
+well.  It was found that the core operations occurred at the node level rather
+than at the tree level, which stored only high-level algorithms.  Efforts went
+underway to retrofit these algorithms to use iterators and to further factor
+out generic data structures from the decision tree components and other
+application-specific utilities.  This library represents the Boostified
+culmination of these efforts.
+
+[/ index.html End]
+
+[include concepts.qbk]
+[include reference.qbk]
+[include changelog.qbk]
+
Added: sandbox/tree_node/libs/tree_node/example/associative_node.cpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/associative_node.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,255 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#include <iostream>
+#include <boost/assert.hpp>
+#include <boost/tr1/tuple.hpp>
+#include <boost/tree_node/typeof.hpp>
+#include "default_unconstruct_type.hpp"
+#include "show_functions.hpp"
+#include "showcase_desc_iterators.hpp"
+
+typedef boost::tree_node::associative_node<
+            char const*
+          , default_unconstructible_example_type
+          , boost::boost_multimapS
+        >
+        DNode;
+typedef boost::tree_node::with_depth<
+            boost::tree_node::with_position_gen<
+                boost::tree_node::associative_node_gen<
+                    boost::hash_multimapS
+                >
+            >
+          , char const*
+          , char*
+        >
+        ANode;
+
+int main()
+{
+    char const* names[] = {"able", "baker", "charlie", "dog", "easy", "fox"};
+    DNode d_root(create_instance(5));
+    ANode a_root;
+
+    BOOST_ASSERT(
+        !d_root.get_parent_ptr()
+     && "Parent member uninitialized."
+    );
+    BOOST_ASSERT(
+        !a_root.get_data()
+     && "Data member not default-constructed."
+    );
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_iterator(d_root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        std::size_t const count = itr->get_data().number;
+
+        if (1 < count)
+        {
+            for (std::size_t i = 0; i < count; ++i)
+            {
+                for (std::size_t j = 0; j + i < count; ++j)
+                {
+                    DNode::iterator child_itr(
+                        itr->add_child(names[j], create_instance(i))
+                    );
+                    DNode const& const_child(child_itr->second);
+
+                    BOOST_ASSERT(
+                        (child_itr->second.get_parent_ptr() == &*itr)
+                         && "Ctor not linking child to parent."
+                    );
+                    BOOST_ASSERT(
+                        (
+                            child_itr->second.get_parent_ptr()
+                         == const_child.get_parent_ptr()
+                        )
+                     && "Why are these pointers different?"
+                    );
+                }
+            }
+        }
+    }
+
+    {
+        boost::tree_node::depth_first_iterate(d_root, show_number_tree());
+        std::cout << std::endl;
+    }
+
+    std::cout << "After d_root tree construction," << std::endl;
+    showcase_descendant_iterators(
+        d_root
+      , show_key_and_number<char const*,DNode>
+      , show_key_and_number_tree()
+    );
+
+    {
+        DNode d_copy(d_root);
+        BOOST_ASSERT((d_copy == d_root) && "Clones not equal.");
+    }
+
+    {
+        DNode::iterator d_child_itr = d_root.find_child(
+            names[2]
+        )->second.add_child_copy(names[5], d_root);
+
+        std::cout << "After add_child_copy call," << std::endl;
+        showcase_descendant_iterators(
+            d_root
+          , show_key_and_number<char const*,DNode>
+          , show_key_and_number_tree()
+        );
+
+        d_root = d_child_itr->second;
+        std::cout << "After assignment to descendant," << std::endl;
+        showcase_descendant_iterators(
+            d_root
+          , show_key_and_number<char const*,DNode>
+          , show_key_and_number_tree()
+        );
+    }
+
+    d_root.find_child(names[4])->second = d_root;
+    std::cout << "After assignment to ancestor," << std::endl;
+    showcase_descendant_iterators(
+        d_root
+      , show_key_and_number<char const*,DNode>
+      , show_key_and_number_tree()
+    );
+
+    {
+        char* root_data = new char[2];
+
+        root_data[0] = '5';
+        root_data[1] = '\0';
+        a_root.get_data() = root_data;
+    }
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_iterator(a_root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        char digit = itr->get_data()[0];
+
+        if ('1' < digit)
+        {
+            char numchar = digit;
+
+            while (numchar != '0')
+            {
+                --numchar;
+
+                for (char j = 0; numchar + j < digit; ++j)
+                {
+                    ANode::iterator child_itr(itr->add_child(names[j]));
+                    char*& data = child_itr->second.get_data();
+
+                    BOOST_ASSERT(
+                        !data
+                     && "Data member not default-constructed."
+                    );
+                    data = new char[2];
+                    data[0] = numchar;
+                    data[1] = '\0';
+                    BOOST_ASSERT(
+                        (child_itr->second.get_parent_ptr() == &*itr)
+                     && "Ctor not linking child to parent."
+                    );
+                    BOOST_ASSERT(
+                        (child_itr->second.get_position() == child_itr)
+                     && "Position iterator incorrect."
+                    );
+                }
+            }
+        }
+    }
+
+    std::cout << "After a_root tree construction," << std::endl;
+    showcase_descendant_iterators(
+        a_root
+      , show_key_and_data<char const*,ANode>
+      , show_key_and_data_tree()
+    );
+
+    {
+        ANode::iterator a_child_itr(
+            a_root.find_child(names[2])->second.add_child(names[5])
+        );
+        ANode& a_child(a_child_itr->second);
+
+        a_child.get_data() = new char[2];
+        a_child.get_data()[0] = '7';
+        a_child.get_data()[1] = '\0';
+        BOOST_ASSERT(
+            (a_child.get_position() == a_child_itr)
+         && "Position iterator incorrect."
+        );
+        std::cout << "After a_child construction," << std::endl;
+        showcase_descendant_iterators(
+            a_root
+          , show_key_and_data<char const*,ANode>
+          , show_key_and_data_tree()
+        );
+    }
+
+    {
+        ANode& to_be_pruned = a_root.begin()->second;
+        ANode::iterator c_itr, c_end;
+
+        for (
+            ::std::tr1::tie(c_itr, c_end) = to_be_pruned.find_children(
+                names[1]
+            );
+            c_itr != c_end;
+            ++c_itr
+        )
+        {
+            for (
+                BOOST_AUTO(
+                    itr
+                  , boost::tree_node::make_pre_order_iterator(c_itr->second)
+                );
+                itr;
+                ++itr
+            )
+            {
+                delete[] itr->get_data();
+            }
+        }
+
+        to_be_pruned.remove_children(names[1]);
+        std::cout << "After remove_children call," << std::endl;
+        showcase_descendant_iterators(
+            a_root
+          , show_key_and_data<char const*,ANode>
+          , show_key_and_data_tree()
+        );
+    }
+
+    for (
+        BOOST_AUTO(itr, boost::tree_node::make_post_order_iterator(a_root));
+        itr;
+        ++itr
+    )
+    {
+        delete[] itr->get_data();
+    }
+
+    return 0;
+}
+
Added: sandbox/tree_node/libs/tree_node/example/binary_node.cpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/binary_node.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,249 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#include <iostream>
+#include <boost/assert.hpp>
+#include <boost/tree_node/typeof.hpp>
+#include "default_unconstruct_type.hpp"
+#include "show_functions.hpp"
+#include "showcase_iterators.hpp"
+
+typedef boost::tree_node::binary_node<default_unconstructible_example_type>
+        DNode;
+typedef boost::tree_node::with_depth<
+            boost::tree_node::with_position_gen<
+                boost::tree_node::binary_node_gen
+            >
+          , char*
+        >
+        ANode;
+
+int main()
+{
+    DNode d_root(create_instance(5));
+    ANode a_root;
+
+    BOOST_ASSERT(
+        !d_root.get_parent_ptr()
+     && "Parent member uninitialized."
+    );
+    BOOST_ASSERT(
+        !a_root.get_data()
+     && "Data member not default-constructed."
+    );
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_iterator(d_root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        std::size_t const count = itr->get_data().number;
+
+        if (1 < count)
+        {
+            DNode::iterator child_itr(
+                itr->add_left_child(create_instance(count - 2))
+            );
+            DNode::const_pointer const_child(&*child_itr);
+
+            BOOST_ASSERT(
+                (child_itr->get_parent_ptr() == &*itr)
+             && "Ctor not linking child to parent."
+            );
+            BOOST_ASSERT(
+                (itr->get_left_child_ptr() == &*child_itr)
+             && "Ctor not linking parent to child."
+            );
+            BOOST_ASSERT(
+                (child_itr->get_parent_ptr() == const_child->get_parent_ptr())
+             && "Why are these pointers different?"
+            );
+
+            child_itr = itr->add_right_child(create_instance(count - 1));
+            const_child = &*child_itr;
+
+            BOOST_ASSERT(
+                (child_itr->get_parent_ptr() == &*itr)
+             && "Ctor not linking child to parent."
+            );
+            BOOST_ASSERT(
+                (itr->get_right_child_ptr() == &*child_itr)
+             && "Ctor not linking parent to child."
+            );
+            BOOST_ASSERT(
+                (child_itr->get_parent_ptr() == const_child->get_parent_ptr())
+             && "Why are these pointers different?"
+            );
+        }
+    }
+
+    std::cout << "After d_root tree construction," << std::endl;
+    showcase_in_order_iterator(d_root, show_number<DNode>);
+    showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+    {
+        DNode d_copy(d_root);
+        BOOST_ASSERT((d_copy == d_root) && "Clones not equal.");
+    }
+
+    {
+        DNode::pointer p = d_root.get_left_child_ptr()->get_left_child_ptr();
+        DNode::iterator p_child_itr = p->add_left_child_copy(d_root);
+
+        std::cout << "After add_left_child_copy call," << std::endl;
+        showcase_in_order_iterator(d_root, show_number<DNode>);
+        showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+        d_root = *p_child_itr;
+        std::cout << "After assignment to descendant," << std::endl;
+        showcase_in_order_iterator(d_root, show_number<DNode>);
+        showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+    }
+
+    *(d_root.get_right_child_ptr()) = d_root;
+    std::cout << "After assignment to ancestor," << std::endl;
+    showcase_in_order_iterator(d_root, show_number<DNode>);
+    showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+    d_root.get_right_child_ptr()->rotate_left();
+    std::cout << "After rotate_left call," << std::endl;
+    showcase_in_order_iterator(d_root, show_number<DNode>);
+    showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+    {
+        char* root_data = new char[2];
+
+        root_data[0] = '5';
+        root_data[1] = '\0';
+        a_root.get_data() = root_data;
+    }
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_iterator(a_root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        char digit = itr->get_data()[0];
+
+        if ('1' < digit)
+        {
+            {
+                ANode::iterator child_itr(itr->add_left_child());
+                char*& data = child_itr->get_data();
+
+                BOOST_ASSERT(
+                    !data
+                 && "Data member not default-constructed."
+                );
+                data = new char[2];
+                data[0] = digit - 1;
+                data[1] = '\0';
+                BOOST_ASSERT(
+                    (child_itr->get_parent_ptr() == &*itr)
+                 && "Ctor not linking child to parent."
+                );
+                BOOST_ASSERT(
+                    (itr->get_left_child_ptr() == &*child_itr)
+                 && "Ctor not linking parent to child."
+                );
+                BOOST_ASSERT(
+                    (child_itr->get_position() == child_itr)
+                 && "Position iterator incorrect."
+                );
+            }
+
+            {
+                ANode::iterator child_itr(itr->add_right_child());
+                char*& data = child_itr->get_data();
+
+                BOOST_ASSERT(
+                    !data
+                 && "Data member not default-constructed."
+                );
+                data = new char[2];
+                data[0] = digit - 2;
+                data[1] = '\0';
+                BOOST_ASSERT(
+                    (child_itr->get_parent_ptr() == &*itr)
+                 && "Ctor not linking child to parent."
+                );
+                BOOST_ASSERT(
+                    (itr->get_right_child_ptr() == &*child_itr)
+                 && "Ctor not linking parent to child."
+                );
+                BOOST_ASSERT(
+                    (child_itr->get_position() == child_itr)
+                 && "Position iterator incorrect."
+                );
+            }
+        }
+    }
+
+    std::cout << "After a_root tree construction," << std::endl;
+    showcase_in_order_iterator(a_root, show_data<ANode>);
+    showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+
+    {
+        ANode::pointer p(a_root.get_right_child_ptr()->get_right_child_ptr());
+        ANode::iterator p_child_itr(p->add_right_child());
+
+        p_child_itr->get_data() = new char[2];
+        p_child_itr->get_data()[0] = '7';
+        p_child_itr->get_data()[1] = '\0';
+        BOOST_ASSERT(
+            (p_child_itr->get_position() == p_child_itr)
+         && "Position iterator incorrect."
+        );
+        std::cout << "After add_right_child call," << std::endl;
+        showcase_in_order_iterator(a_root, show_data<ANode>);
+        showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+    }
+
+    a_root.get_left_child_ptr()->rotate_right();
+    std::cout << "After rotate_right call," << std::endl;
+    showcase_in_order_iterator(a_root, show_data<ANode>);
+    showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+
+    {
+        ANode::iterator leaf = a_root.begin();
+
+        for (
+            BOOST_AUTO(
+                itr
+              , boost::tree_node::make_pre_order_descendant_iterator(*leaf)
+            );
+            itr;
+            ++itr
+        )
+        {
+            delete[] itr->get_data();
+        }
+
+        leaf->clear();
+        std::cout << "After clear call," << std::endl;
+        showcase_in_order_iterator(a_root, show_data<ANode>);
+        showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+    }
+
+    for (
+        BOOST_AUTO(itr, boost::tree_node::make_post_order_iterator(a_root));
+        itr;
+        ++itr
+    )
+    {
+        delete[] itr->get_data();
+    }
+
+    return 0;
+}
+
Added: sandbox/tree_node/libs/tree_node/example/default_unconstruct_type.cpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/default_unconstruct_type.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,38 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#include "default_unconstruct_type.hpp"
+
+//[example__default_unconstructible_type__definitions
+default_unconstructible_example_type::default_unconstructible_example_type()
+{
+}
+
+default_unconstructible_example_type create_instance(std::size_t n)
+{
+    default_unconstructible_example_type instance;
+    instance.number = n;
+    return instance;
+}
+
+bool
+    operator==(
+        default_unconstructible_example_type const& lhs
+      , default_unconstructible_example_type const& rhs
+    )
+{
+    return lhs.number == rhs.number;
+}
+
+bool
+    operator<(
+        default_unconstructible_example_type const& lhs
+      , default_unconstructible_example_type const& rhs
+    )
+{
+    return lhs.number < rhs.number;
+}
+//]
+
Added: sandbox/tree_node/libs/tree_node/example/default_unconstruct_type.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/default_unconstruct_type.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,43 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef LIBS_TREE_NODE_EXAMPLE_DEFAULT_UNCONSTRUCT_TYPE_HPP_INCLUDED
+#define LIBS_TREE_NODE_EXAMPLE_DEFAULT_UNCONSTRUCT_TYPE_HPP_INCLUDED
+
+#include <vector>
+
+//[example__default_unconstructible_type
+class default_unconstructible_example_type
+{
+    default_unconstructible_example_type();
+
+    friend default_unconstructible_example_type
+        create_instance(std::size_t n);
+
+ public:
+    std::size_t number;
+};
+//]
+
+//[example__default_unconstructible_type__operator_equal
+bool
+    operator==(
+        default_unconstructible_example_type const& lhs
+      , default_unconstructible_example_type const& rhs
+    );
+//]
+
+//[example__default_unconstructible_type__operator_less
+bool
+    operator<(
+        default_unconstructible_example_type const& lhs
+      , default_unconstructible_example_type const& rhs
+    );
+//]
+
+default_unconstructible_example_type create_instance(std::size_t n);
+
+#endif  // LIBS_TREE_NODE_EXAMPLE_DEFAULT_UNCONSTRUCT_TYPE_HPP_INCLUDED
+
Added: sandbox/tree_node/libs/tree_node/example/nary_node.cpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/nary_node.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,203 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#include <iostream>
+#include <iterator>
+#include <boost/assert.hpp>
+#include <boost/tree_node/typeof.hpp>
+#include "default_unconstruct_type.hpp"
+#include "show_functions.hpp"
+#include "showcase_iterators.hpp"
+
+typedef boost::tree_node::nary_node<default_unconstructible_example_type>
+        DNode;
+typedef boost::tree_node::with_depth<
+            boost::tree_node::with_position_gen<
+                boost::tree_node::nary_node_gen<boost::boost_slistS>
+            >
+          , char*
+        >
+        ANode;
+
+int main()
+{
+    DNode d_root(create_instance(5));
+    ANode a_root;
+
+    BOOST_ASSERT(
+        !d_root.get_parent_ptr()
+     && "Parent member uninitialized."
+    );
+    BOOST_ASSERT(
+        !a_root.get_data()
+     && "Data member not default-constructed."
+    );
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_iterator(d_root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        std::size_t const count = itr->get_data().number;
+
+        if (1 < count)
+        {
+            for (std::size_t i = 0; i < count; ++i)
+            {
+                DNode::iterator child_itr(itr->add_child(create_instance(i)));
+                DNode::const_pointer const_child(&*child_itr);
+
+                BOOST_ASSERT(
+                    (child_itr->get_parent_ptr() == &*itr)
+                 && "Ctor not linking child to parent."
+                );
+                BOOST_ASSERT(
+                    (&*child_itr == &*(itr->begin() + i))
+                 && "Ctor not linking parent to child."
+                );
+                BOOST_ASSERT(
+                    (
+                        child_itr->get_parent_ptr()
+                     == const_child->get_parent_ptr()
+                    )
+                 && "Why are these pointers different?"
+                );
+            }
+        }
+    }
+
+    std::cout << "After d_root tree construction," << std::endl;
+    showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+    {
+        DNode d_copy(d_root);
+        BOOST_ASSERT((d_copy == d_root) && "Clones not equal.");
+    }
+
+    {
+        DNode::iterator d_child = (d_root.begin() + 2)->add_child_copy(d_root);
+
+        std::cout << "After add_child_copy call," << std::endl;
+        showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+        d_root = *d_child;
+        std::cout << "After assignment to descendant," << std::endl;
+        showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+    }
+
+    *(d_root.begin() + 4) = d_root;
+    std::cout << "After assignment to ancestor," << std::endl;
+    showcase_iterators(d_root, show_number<DNode>, show_number_tree());
+
+    {
+        char* root_data = new char[2];
+
+        root_data[0] = '5';
+        root_data[1] = '\0';
+        a_root.get_data() = root_data;
+    }
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_iterator(a_root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        char digit = itr->get_data()[0];
+
+        if ('1' < digit)
+        {
+            char numchar = digit;
+
+            while (numchar != '0')
+            {
+                ANode::iterator child_itr(itr->add_child());
+                char*& data = child_itr->get_data();
+
+                BOOST_ASSERT(
+                    !data
+                 && "Data member not default-constructed."
+                );
+                data = new char[2];
+                data[0] = --numchar;
+                data[1] = '\0';
+                BOOST_ASSERT(
+                    (child_itr->get_parent_ptr() == &*itr)
+                 && "Ctor not linking child to parent."
+                );
+                BOOST_ASSERT(
+                    (child_itr->get_position() == child_itr)
+                 && "Position iterator incorrect."
+                );
+
+                {
+                    ANode::iterator c_itr = itr->begin();
+
+                    std::advance(c_itr, digit - (numchar + 1));
+                    BOOST_ASSERT(
+                        (child_itr == c_itr)
+                     && "Ctor not linking parent to child."
+                    );
+                }
+            }
+        }
+    }
+
+    std::cout << "After a_root tree construction," << std::endl;
+    showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+
+    {
+        ANode::iterator a_child_itr((++(++a_root.begin()))->add_child());
+
+        a_child_itr->get_data() = new char[2];
+        a_child_itr->get_data()[0] = '7';
+        a_child_itr->get_data()[1] = '\0';
+        BOOST_ASSERT(
+            (a_child_itr->get_position() == a_child_itr)
+         && "Position iterator incorrect."
+        );
+        std::cout << "After add_child no-argument call," << std::endl;
+        showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+    }
+
+    {
+        ANode::iterator leaf = a_root.begin();
+
+        for (
+            BOOST_AUTO(
+                itr
+              , boost::tree_node::make_pre_order_descendant_iterator(*leaf)
+            );
+            itr;
+            ++itr
+        )
+        {
+            delete[] itr->get_data();
+        }
+
+        leaf->clear();
+        std::cout << "After clear call," << std::endl;
+        showcase_iterators(a_root, show_data<ANode>, show_data_tree());
+    }
+
+    for (
+        BOOST_AUTO(itr, boost::tree_node::make_post_order_iterator(a_root));
+        itr;
+        ++itr
+    )
+    {
+        delete[] itr->get_data();
+    }
+
+    return 0;
+}
+
Added: sandbox/tree_node/libs/tree_node/example/show_functions.cpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/show_functions.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,60 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#include "show_functions.hpp"
+
+//[example__show_tabs
+void
+    show_tabs(
+        boost::tree_node::traversal_state state
+      , unsigned int& ply_limit
+    )
+{
+    switch (state)
+    {
+        case boost::tree_node::pre_order_traversal:
+        {
+            ++ply_limit;
+
+            for (unsigned int ply = 0; ply < ply_limit; ++ply)
+            {
+                std::cout << "    ";
+            }
+
+            std::cout << "Pre-order: ";
+            break;
+        }
+
+        case boost::tree_node::post_order_traversal:
+        {
+            for (unsigned int ply = 0; ply < ply_limit; ++ply)
+            {
+                std::cout << "    ";
+            }
+
+            std::cout << "Post-order: ";
+            --ply_limit;
+            break;
+        }
+    }
+}
+//]
+
+show_number_tree::show_number_tree() : ply_limit(1)
+{
+}
+
+show_key_and_number_tree::show_key_and_number_tree() : ply_limit(1)
+{
+}
+
+show_data_tree::show_data_tree() : ply_limit(1)
+{
+}
+
+show_key_and_data_tree::show_key_and_data_tree() : ply_limit(1)
+{
+}
+
Added: sandbox/tree_node/libs/tree_node/example/show_functions.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/show_functions.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,140 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef LIBS_TREE_NODE_EXAMPLE_SHOW_FUNCTIONS_HPP_INCLUDED
+#define LIBS_TREE_NODE_EXAMPLE_SHOW_FUNCTIONS_HPP_INCLUDED
+
+#include <iostream>
+#include <boost/tree_node/traversal_state.hpp>
+
+void
+    show_tabs(
+        boost::tree_node::traversal_state state
+      , unsigned int& ply_limit
+    );
+
+//[example__show_number
+template <typename Node>
+void show_number(Node const& node)
+{
+    std::cout << ' ' << node.get_data().number;
+}
+//]
+
+//[example__show_number_tree
+class show_number_tree
+{
+    unsigned int ply_limit;
+
+ public:
+    show_number_tree();
+
+    template <typename Node>
+    void
+        operator()(
+            Node const& node
+          , boost::tree_node::traversal_state state
+        )
+    {
+        show_tabs(state, ply_limit);
+        std::cout << node.get_data().number << std::endl;
+    }
+};
+//]
+
+//[example__show_key_and_number
+template <typename Key, typename Node>
+void show_key_and_number(Key const& key, Node const& node)
+{
+    std::cout << " [" << key << ", " << node.get_data().number << ']';
+}
+//]
+
+//[example__show_key_and_number_tree
+class show_key_and_number_tree
+{
+    unsigned int ply_limit;
+
+ public:
+    show_key_and_number_tree();
+
+    template <typename Iterator>
+    void
+        operator()(
+            Iterator const& itr
+          , boost::tree_node::traversal_state state
+        )
+    {
+        show_tabs(state, ply_limit);
+        show_key_and_number(itr->first, itr->second);
+        std::cout << std::endl;
+    }
+};
+//]
+
+//[example__show_data
+template <typename Node>
+void show_data(Node const& node)
+{
+    std::cout << ' ' << node.get_data();
+}
+//]
+
+//[example__show_data_tree
+class show_data_tree
+{
+    unsigned int ply_limit;
+
+ public:
+    show_data_tree();
+
+    template <typename Node>
+    void
+        operator()(
+            Node const& node
+          , boost::tree_node::traversal_state state
+        )
+    {
+        show_tabs(state, ply_limit);
+        std::cout << node.get_data();
+        std::cout << "  (Depth = " << node.get_depth() << ')';
+        std::cout << std::endl;
+    }
+};
+//]
+
+//[example__show_key_and_data
+template <typename Key, typename Node>
+void show_key_and_data(Key const& key, Node const& node)
+{
+    std::cout << " [" << key << ", " << node.get_data() << ']';
+}
+//]
+
+//[example__show_key_and_data_tree
+class show_key_and_data_tree
+{
+    unsigned int ply_limit;
+
+ public:
+    show_key_and_data_tree();
+
+    template <typename Iterator>
+    void
+        operator()(
+            Iterator const& itr
+          , boost::tree_node::traversal_state state
+        )
+    {
+        show_tabs(state, ply_limit);
+        show_key_and_data(itr->first, itr->second);
+        std::cout << "  (Depth = " << itr->second.get_depth() << ')';
+        std::cout << std::endl;
+    }
+};
+//]
+
+#endif  // LIBS_TREE_NODE_EXAMPLE_SHOW_FUNCTIONS_HPP_INCLUDED
+
Added: sandbox/tree_node/libs/tree_node/example/showcase_desc_iterators.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/showcase_desc_iterators.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,82 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef LIBS_TREE_NODE_EXAMPLE_SHOWCASE_DESC_ITERATORS_HPP_INCLUDED
+#define LIBS_TREE_NODE_EXAMPLE_SHOWCASE_DESC_ITERATORS_HPP_INCLUDED
+
+#include <iostream>
+#include <boost/tree_node/typeof.hpp>
+
+//[example__showcase_descendant_iterators
+template <typename Node, typename Function1, typename Function2>
+void
+    showcase_descendant_iterators(
+        Node const& root
+      , Function1 show1
+      , Function2 show2
+    )
+{
+    std::cout << "    Breadth-first traversal:";
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_breadth_first_descendant_iterator(root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        show1(itr->first, itr->second);
+    }
+
+    std::cout << std::endl << "    Pre-order traversal:";
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_pre_order_descendant_iterator(root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        show1(itr->first, itr->second);
+    }
+
+    std::cout << std::endl << "    Post-order traversal:";
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_post_order_descendant_iterator(root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        show1(itr->first, itr->second);
+    }
+
+    std::cout << std::endl << "    Depth-first traversal:" << std::endl;
+
+    for (
+        BOOST_AUTO(
+            itr
+          , boost::tree_node::make_depth_first_descendant_iterator(root)
+        );
+        itr;
+        ++itr
+    )
+    {
+        show2(itr, boost::tree_node::traversal_state(itr));
+    }
+
+    std::cout << std::endl;
+}
+//]
+
+#endif  // LIBS_TREE_NODE_EXAMPLE_SHOWCASE_DESC_ITERATORS_HPP_INCLUDED
+
Added: sandbox/tree_node/libs/tree_node/example/showcase_iterators.hpp
==============================================================================
--- (empty file)
+++ sandbox/tree_node/libs/tree_node/example/showcase_iterators.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,58 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef LIBS_TREE_NODE_EXAMPLE_SHOWCASE_ITERATORS_HPP_INCLUDED
+#define LIBS_TREE_NODE_EXAMPLE_SHOWCASE_ITERATORS_HPP_INCLUDED
+
+#include <iostream>
+#include <boost/tree_node/breadth_first_iterator.hpp>
+#include <boost/tree_node/pre_order_iterator.hpp>
+#include <boost/tree_node/post_order_iterator.hpp>
+#include <boost/tree_node/depth_first_iterator.hpp>
+#include <boost/tree_node/in_order_iterator.hpp>
+
+//[example__showcase_iterators
+template <typename Node, typename Function1, typename Function2>
+void
+    showcase_iterators(
+        Node const& root
+      , Function1 show1
+      , Function2 show2
+    )
+{
+    std::cout << "  Breadth-first: ";
+    boost::tree_node::breadth_first_iterate(root, show1);
+    std::cout << std::endl << "    sans root:     ";
+    boost::tree_node::breadth_first_iterate_descendants(root, show1);
+    std::cout << std::endl << "  Pre-order:     ";
+    boost::tree_node::pre_order_iterate(root, show1);
+    std::cout << std::endl << "    sans root:     ";
+    boost::tree_node::pre_order_iterate_descendants(root, show1);
+    std::cout << std::endl << "  Post-order:    ";
+    boost::tree_node::post_order_iterate(root, show1);
+    std::cout << std::endl << "    sans root:   ";
+    boost::tree_node::post_order_iterate_descendants(root, show1);
+    std::cout << std::endl << "  Depth-first:" << std::endl;
+    boost::tree_node::depth_first_iterate(root, show2);
+    std::cout << std::endl << "    sans root:" << std::endl;
+    boost::tree_node::depth_first_iterate_descendants(root, show2);
+    std::cout << std::endl;
+}
+//]
+
+//[example__showcase_in_order_iterator
+template <typename Node, typename Function>
+void showcase_in_order_iterator(Node const& node, Function show)
+{
+    std::cout << "  In-order fwd:  ";
+    boost::tree_node::in_order_iterate_forward(node, show);
+    std::cout << std::endl << "  In-order bck:  ";
+    boost::tree_node::in_order_iterate_reverse(node, show);
+    std::cout << std::endl;
+}
+//]
+
+#endif  // LIBS_TREE_NODE_EXAMPLE_SHOWCASE_ITERATORS_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/function/range_equal.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/function/range_equal.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,24 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_FUNCTION_RANGE_EQUAL_HPP_INCLUDED
+#define BOOST_DETAIL_FUNCTION_RANGE_EQUAL_HPP_INCLUDED
+
+#include <boost/range/algorithm/equal.hpp>
+
+namespace boost { namespace detail {
+
+    struct range_equal
+    {
+        template <typename R1, typename R2>
+        inline bool operator()(R1 const& r1, R2 const& r2) const
+        {
+            return ::boost::range::equal(r1, r2);
+        }
+    };
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_FUNCTION_RANGE_EQUAL_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/function/range_less.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/function/range_less.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,24 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_FUNCTION_RANGE_LESS_HPP_INCLUDED
+#define BOOST_DETAIL_FUNCTION_RANGE_LESS_HPP_INCLUDED
+
+#include <boost/range/algorithm/lexicographical_compare.hpp>
+
+namespace boost { namespace detail {
+
+    struct range_less
+    {
+        template <typename R1, typename R2>
+        inline bool operator()(R1 const& r1, R2 const& r2) const
+        {
+            return ::boost::range::lexicographical_compare(r1, r2);
+        }
+    };
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_FUNCTION_RANGE_LESS_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_const_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_const_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_CONST_ITERATOR_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_CONST_ITERATOR_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_const_iterator metafunction will determine whether or not the
+    // specified type has a nested 'const_iterator' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(const_iterator)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_CONST_ITERATOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_const_pointer.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_const_pointer.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_CONST_POINTER_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_CONST_POINTER_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_const_pointer metafunction will determine whether or not the
+    // specified type has a nested 'const_pointer' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(const_pointer)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_CONST_POINTER_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_const_reference.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_const_reference.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_CONST_REFERENCE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_CONST_REFERENCE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_const_reference metafunction will determine whether or not the
+    // specified type has a nested 'const_reference' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(const_reference)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_CONST_REFERENCE_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_difference_type.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_difference_type.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_DIFFERENCE_TYPE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_DIFFERENCE_TYPE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_difference_type metafunction will determine whether or not the
+    // specified type has a nested 'difference_type' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_DIFFERENCE_TYPE_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_pointer.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_pointer.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_POINTER_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_POINTER_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_pointer metafunction will determine whether or not the
+    // specified type has a nested 'pointer' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_POINTER_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_reference.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_reference.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_REFERENCE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_REFERENCE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_reference metafunction will determine whether or not the
+    // specified type has a nested 'reference' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_REFERENCE_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_size_type.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_size_type.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_SIZE_TYPE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_SIZE_TYPE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_size_type metafunction will determine whether or not the
+    // specified type has a nested 'size_type' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(size_type)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_SIZE_TYPE_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/has_value_type.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/has_value_type.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,19 @@
+// Copyright (C) 2007-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_HAS_VALUE_TYPE_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_HAS_VALUE_TYPE_HPP_INCLUDED
+
+#include <boost/mpl/has_xxx.hpp>
+
+namespace boost { namespace detail {
+
+    // The has_value_type metafunction will determine whether or not the
+    // specified type has a nested 'value_type' type definition.
+    BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_HAS_VALUE_TYPE_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/is_container.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/is_container.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,53 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_IS_CONTAINER_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_IS_CONTAINER_HPP_INCLUDED
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/detail/metafunction/has_value_type.hpp>
+#include <boost/detail/metafunction/has_difference_type.hpp>
+#include <boost/detail/metafunction/has_size_type.hpp>
+#include <boost/detail/metafunction/has_const_iterator.hpp>
+#include <boost/detail/metafunction/has_const_pointer.hpp>
+#include <boost/detail/metafunction/has_const_reference.hpp>
+#include <boost/detail/metafunction/is_input_iterator.hpp>
+
+namespace boost { namespace detail {
+
+    template <typename T>
+    struct is_container_impl
+      : is_input_iterator<typename T::const_iterator>
+    {
+    };
+
+    template <typename T>
+    struct is_container
+      : ::boost::mpl::if_<
+            ::boost::mpl::and_<
+                ::boost::mpl::and_<
+                    typename has_value_type<T>::type
+                  , typename has_difference_type<T>::type
+                  , typename has_size_type<T>::type
+                >
+              , ::boost::mpl::and_<
+                    typename has_const_iterator<T>::type
+                  , typename has_const_pointer<T>::type
+                  , typename has_const_reference<T>::type
+                >
+            >
+          , is_container_impl<T>
+          , ::boost::mpl::false_
+        >::type
+    {
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_container,(T))
+    };
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_IS_CONTAINER_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/detail/metafunction/is_input_iterator.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/detail/metafunction/is_input_iterator.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,64 @@
+// Copyright (C) 2011-2012 Cromwell D. Enage
+// 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)
+
+#ifndef BOOST_DETAIL_METAFUNCTION_IS_INPUT_ITERATOR_HPP_INCLUDED
+#define BOOST_DETAIL_METAFUNCTION_IS_INPUT_ITERATOR_HPP_INCLUDED
+
+#include <boost/config.hpp>
+
+#ifndef BOOST_NO_SFINAE
+#include <boost/type_traits/has_equal_to.hpp>
+#include <boost/type_traits/has_dereference.hpp>
+#include <boost/type_traits/has_pre_increment.hpp>
+#include <boost/type_traits/has_post_increment.hpp>
+#endif
+
+#include <boost/type_traits/is_signed.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/detail/metafunction/has_value_type.hpp>
+#include <boost/detail/metafunction/has_difference_type.hpp>
+#include <boost/detail/metafunction/has_pointer.hpp>
+#include <boost/detail/metafunction/has_reference.hpp>
+
+namespace boost { namespace detail {
+
+    template <typename T>
+    struct is_input_iterator_impl
+      : ::boost::is_signed<typename T::difference_type>
+    {
+    };
+
+    template <typename T>
+    struct is_input_iterator
+      : ::boost::mpl::if_<
+            ::boost::mpl::and_<
+                typename has_value_type<T>::type
+              , typename has_difference_type<T>::type
+              , typename has_pointer<T>::type
+              , typename has_reference<T>::type
+            >
+#ifndef BOOST_NO_SFINAE
+          , ::boost::mpl::and_<
+                ::boost::has_equal_to<T>
+              , ::boost::has_dereference<T>
+              , ::boost::has_pre_increment<T>
+              , ::boost::has_post_increment<T>
+#endif
+              , is_input_iterator_impl<T>
+#ifndef BOOST_NO_SFINAE
+            >
+#endif
+          , ::boost::mpl::false_
+        >::type
+    {
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_input_iterator,(T))
+    };
+}}  // namespace boost::detail
+
+#endif  // BOOST_DETAIL_METAFUNCTION_IS_INPUT_ITERATOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/associative_container_gen.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/associative_container_gen.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,560 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_ASSOCIATIVE_CONTAINER_GEN_HPP_INCLUDED
+#define BOOST_UTILITY_ASSOCIATIVE_CONTAINER_GEN_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/utility/container_selector.hpp>
+
+#include <set>
+#include <map>
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#include <boost/container/set.hpp>
+#include <boost/container/map.hpp>
+#include <boost/container/flat_set.hpp>
+#include <boost/container/flat_map.hpp>
+#endif
+
+#include <boost/tr1/unordered_set.hpp>
+#include <boost/tr1/unordered_map.hpp>
+#include <boost/functional/hash.hpp>
+
+#include <boost/tr1/type_traits.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/detail/metafunction/is_container.hpp>
+#include <boost/detail/function/range_equal.hpp>
+#include <boost/detail/function/range_less.hpp>
+
+//[reference__associative_container_gen
+namespace boost {
+
+    template <typename Selector>
+    struct associative_container_gen
+    {
+//<-
+#if 0
+//->
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            // typedef ... type;
+        };
+//<-
+#endif
+//->
+    };
+
+    //<-
+    template <>
+    struct associative_container_gen<setS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::set<Key,::boost::detail::range_less>
+                          , ::std::map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::set<Key>
+                          , ::std::map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<mapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::set<Key,::boost::detail::range_less>
+                          , ::std::map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::set<Key>
+                          , ::std::map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<multisetS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::multiset<Key,::boost::detail::range_less>
+                          , ::std::multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::multiset<Key>
+                          , ::std::multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<multimapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::multiset<Key,::boost::detail::range_less>
+                          , ::std::multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::multiset<Key>
+                          , ::std::multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    template <>
+    struct associative_container_gen<boost_setS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::set<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::set<Key>
+                          , ::boost::container::map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<boost_mapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::set<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::set<Key>
+                          , ::boost::container::map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<boost_multisetS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::multiset<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::multiset<Key>
+                          , ::boost::container::multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<boost_multimapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::multiset<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::multiset<Key>
+                          , ::boost::container::multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<flat_setS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_set<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::flat_map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_set<Key>
+                          , ::boost::container::flat_map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<flat_mapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_set<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::flat_map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_set<Key>
+                          , ::boost::container::flat_map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<flat_multisetS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_multiset<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::flat_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_multiset<Key>
+                          , ::boost::container::flat_multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<flat_multimapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_multiset<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::container::flat_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::container::flat_multiset<Key>
+                          , ::boost::container::flat_multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+#endif  // !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+    template <>
+    struct associative_container_gen<hash_setS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_set<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::std::tr1::unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_set<Key,::boost::hash<Key> >
+                          , ::std::tr1::unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<hash_mapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_set<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::std::tr1::unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_set<Key,::boost::hash<Key> >
+                          , ::std::tr1::unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<hash_multisetS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::std::tr1::unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                            >
+                          , ::std::tr1::unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct associative_container_gen<hash_multimapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::std::tr1::unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::std::tr1::unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                            >
+                          , ::std::tr1::unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_ASSOCIATIVE_CONTAINER_GEN_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/container_gen.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/container_gen.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,375 @@
+//=======================================================================
+// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
+// Copyright 2010 Thomas Claveirole
+// Copyright 2011-2012 Cromwell D. Enage
+// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Thomas Claveirole,
+//          Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_CONTAINER_GEN_HPP_INCLUDED
+#define BOOST_UTILITY_CONTAINER_GEN_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/utility/container_selector.hpp>
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+#include <vector>
+#include <deque>
+#include <list>
+#include <set>
+
+#if !defined BOOST_NO_SLIST
+#  ifdef BOOST_SLIST_HEADER
+#    include BOOST_SLIST_HEADER
+#  else
+#    include <slist>
+#  endif
+#endif
+
+#include <boost/container/vector.hpp>
+#include <boost/container/stable_vector.hpp>
+#include <boost/container/deque.hpp>
+#include <boost/container/list.hpp>
+#include <boost/container/slist.hpp>
+#include <boost/container/set.hpp>
+#include <boost/container/flat_set.hpp>
+
+#include <boost/tr1/unordered_set.hpp>
+#include <boost/functional/hash.hpp>
+
+#include <boost/mpl/if.hpp>
+#include <boost/detail/metafunction/is_container.hpp>
+#include <boost/detail/function/range_equal.hpp>
+#include <boost/detail/function/range_less.hpp>
+
+//[reference__container_gen__list_specialization
+namespace boost {
+
+    //<-
+    template <typename Selector, typename ValueType>
+    struct container_gen
+    {
+    };
+
+    template <typename ValueType>
+    struct container_gen<vecS,ValueType>
+    {
+        typedef ::std::vector<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<dequeS,ValueType>
+    {
+        typedef ::std::deque<ValueType> type;
+    };
+    //->
+
+    template <typename ValueType>
+    struct container_gen<listS,ValueType>
+    {
+        typedef ::std::list<ValueType> type;
+    };
+
+    //<-
+#if !defined BOOST_NO_SLIST
+    template <typename ValueType>
+    struct container_gen<slistS,ValueType>
+    {
+        typedef ::BOOST_STD_EXTENSION_NAMESPACE::slist<ValueType> type;
+    };
+#endif
+
+    template <typename ValueType>
+    struct container_gen<setS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::set<ValueType,::boost::detail::range_less>
+                  , ::std::set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<mapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::set<ValueType,::boost::detail::range_less>
+                  , ::std::set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<multisetS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::multiset<ValueType,::boost::detail::range_less>
+                  , ::std::multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<multimapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::multiset<ValueType,::boost::detail::range_less>
+                  , ::std::multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_vecS,ValueType>
+    {
+        typedef ::boost::container::vector<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<stable_vecS,ValueType>
+    {
+        typedef ::boost::container::stable_vector<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_dequeS,ValueType>
+    {
+        typedef ::boost::container::deque<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_listS,ValueType>
+    {
+        typedef ::boost::container::list<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_slistS,ValueType>
+    {
+        typedef ::boost::container::slist<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_setS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::set<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_mapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::set<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_multisetS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::multiset<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<boost_multimapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::multiset<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<flat_setS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::flat_set<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::flat_set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<flat_mapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::flat_set<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::flat_set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<flat_multisetS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::flat_multiset<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::flat_multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<flat_multimapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::container::flat_multiset<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::container::flat_multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<hash_setS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::tr1::unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::std::tr1::unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<hash_mapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::tr1::unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::std::tr1::unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<hash_multisetS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::tr1::unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::std::tr1::unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct container_gen<hash_multimapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::std::tr1::unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::std::tr1::unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+    //->
+}  // namespace boost
+//]
+
+#else  // defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+  //===========================================================================
+  // The main container_gen traits class uses partial specialization,
+  // so we also include a workaround.
+  //===========================================================================
+
+//[reference__container_gen
+namespace boost {
+
+    template <typename Selector, typename ValueType>
+    struct container_gen
+    {
+        //<-
+        typedef typename container_selector<Selector>::type
+                Select;
+        typedef typename Select::BOOST_NESTED_TEMPLATE bind_<ValueType>::type
+                type;
+        //->
+        // typedef .... type;
+    };
+}  // namespace boost
+//]
+
+#endif  // !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+#endif  // BOOST_UTILITY_CONTAINER_GEN_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/container_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/container_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,383 @@
+//=======================================================================
+// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
+// Copyright 2010 Thomas Claveirole
+// Copyright 2011-2012 Cromwell D. Enage
+// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Thomas Claveirole,
+//          Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_CONTAINER_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_CONTAINER_SELECTOR_HPP_INCLUDED
+
+#include <boost/config.hpp>
+
+  //===========================================================================
+  // Selectors for the VertexList and EdgeList template parameters of
+  // adjacency_list, and the container_gen traits class which is used
+  // to map the selectors to the container type used to implement the
+  // graph.
+  //===========================================================================
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+//[reference__container_selectors
+namespace boost {
+
+    struct vecS { };
+    struct dequeS { };
+    struct listS { };
+#if !defined BOOST_NO_SLIST
+    struct slistS { };
+#endif
+    struct setS { };
+    struct mapS { };
+    struct multisetS { };
+    struct multimapS { };
+    struct boost_vecS { };
+    struct stable_vecS { };
+    struct boost_dequeS { };
+    struct boost_listS { };
+    struct boost_slistS { };
+    struct boost_setS { };
+    struct boost_mapS { };
+    struct boost_multisetS { };
+    struct boost_multimapS { };
+    struct hash_setS { };
+    struct hash_mapS { };
+    struct hash_multisetS { };
+    struct hash_multimapS { };
+    struct flat_setS { };
+    struct flat_mapS { };
+    struct flat_multisetS { };
+    struct flat_multimapS { };
+}  // namespace boost
+//]
+
+#else  // defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+#include <vector>
+#include <deque>
+#include <list>
+#include <set>
+
+#if !defined BOOST_NO_SLIST
+#  ifdef BOOST_SLIST_HEADER
+#    include BOOST_SLIST_HEADER
+#  else
+#    include <slist>
+#  endif
+#endif
+
+#include <boost/tr1/unordered_set.hpp>
+#include <boost/functional/hash.hpp>
+
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <boost/ptr_container/ptr_deque.hpp>
+#include <boost/ptr_container/ptr_list.hpp>
+#include <boost/ptr_container/ptr_set.hpp>
+#include <boost/ptr_container/ptr_unordered_set.hpp>
+
+#include <boost/mpl/if.hpp>
+#include <boost/detail/metafunction/is_container.hpp>
+#include <boost/detail/function/range_equal.hpp>
+#include <boost/detail/function/range_less.hpp>
+
+//[reference__ptr_container_selectors
+namespace boost {
+
+    struct vecS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef ::std::vector<T> type;
+            typedef ::boost::ptr_vector<T> ptr_type;
+        };
+        //->
+    };
+
+    struct dequeS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef ::std::deque<T> type;
+            typedef ::boost::ptr_deque<T> ptr_type;
+        };
+        //->
+    };
+
+    struct listS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef ::std::list<T> type;
+            typedef ::boost::ptr_list<T> ptr_type;
+        };
+        //->
+    };
+
+    //<-
+#if !defined BOOST_NO_SLIST
+    struct slistS
+    {
+        template <typename T>
+        struct bind_
+        {
+            typedef ::BOOST_STD_EXTENSION_NAMESPACE::slist<T> type;
+        };
+    };
+#endif
+    //->
+
+    struct setS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::set<T,::boost::detail::range_less>
+                      , ::std::set<T>
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_set<T,::boost::detail::range_less>
+                      , ::boost::ptr_set<T>
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct mapS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::set<T,::boost::detail::range_less>
+                      , ::std::set<T>
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_set<T,::boost::detail::range_less>
+                      , ::boost::ptr_set<T>
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct multisetS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::multiset<T,::boost::detail::range_less>
+                      , ::std::multiset<T>
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_multiset<T,::boost::detail::range_less>
+                      , ::boost::ptr_multiset<T>
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct multimapS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::multiset<T,::boost::detail::range_less>
+                      , ::std::multiset<T>
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_multiset<T,::boost::detail::range_less>
+                      , ::boost::ptr_multiset<T>
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct hash_setS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::tr1::unordered_set<
+                            ValueType
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::std::tr1::unordered_set<T,::boost::hash<T> >
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_unordered_set<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::boost::ptr_unordered_set<T,::boost::hash<T> >
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct hash_mapS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::tr1::unordered_set<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::std::tr1::unordered_set<T,::boost::hash<T> >
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_unordered_set<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::boost::ptr_unordered_set<T,::boost::hash<T> >
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct hash_multisetS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::tr1::unordered_multiset<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::std::tr1::unordered_multiset<T,::boost::hash<T> >
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_unordered_multiset<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::boost::ptr_unordered_multiset<T,::boost::hash<T> >
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    struct hash_multimapS
+    {
+        //<-
+        template <typename T>
+        struct bind_
+        {
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::std::tr1::unordered_multiset<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::std::tr1::unordered_multiset<T,::boost::hash<T> >
+                    >::type
+                    type;
+            typedef typename ::boost::mpl::if_<
+                        ::boost::detail::is_container<T>
+                      , ::boost::ptr_unordered_multiset<
+                            T
+                          , ::boost::hash<T>
+                          , ::boost::detail::range_equal
+                        >
+                      , ::boost::ptr_unordered_multiset<T,::boost::hash<T> >
+                    >::type
+                    ptr_type;
+        };
+        //->
+    };
+
+    //<-
+    template <typename Selector>
+    struct container_selector
+    {
+        typedef vecS type;
+    };
+
+#define BOOST_CONTAINER_SELECTOR(NAME) \
+    template <> struct container_selector<NAME> { typedef NAME type; }
+
+    BOOST_CONTAINER_SELECTOR(vecS);
+    BOOST_CONTAINER_SELECTOR(dequeS);
+    BOOST_CONTAINER_SELECTOR(listS);
+#if !defined BOOST_NO_SLIST
+    BOOST_CONTAINER_SELECTOR(slistS);
+#endif
+    BOOST_CONTAINER_SELECTOR(setS);
+    BOOST_CONTAINER_SELECTOR(mapS);
+    BOOST_CONTAINER_SELECTOR(multisetS);
+    BOOST_CONTAINER_SELECTOR(multimapS);
+    BOOST_CONTAINER_SELECTOR(hash_setS);
+    BOOST_CONTAINER_SELECTOR(hash_mapS);
+    BOOST_CONTAINER_SELECTOR(hash_multisetS);
+    BOOST_CONTAINER_SELECTOR(hash_multimapS);
+
+#undef BOOST_CONTAINER_SELECTOR
+
+    //->
+}  // namespace boost
+//]
+
+#endif  // !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+#endif  // BOOST_UTILITY_CONTAINER_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/has_stable_iters_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/has_stable_iters_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,103 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_HAS_STABLE_ITERS_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_HAS_STABLE_ITERS_SELECTOR_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/utility/container_selector.hpp>
+
+//[reference__has_stable_iterators_selector
+namespace boost {
+
+    template <typename Selector>
+    struct has_stable_iterators_selector : ::boost::mpl::true_
+    {
+        //<-
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(
+            1
+          , is_unique_associative_selector
+          , (Selector)
+        )
+        //->
+    };
+
+    //<-
+    template <>
+    struct has_stable_iterators_selector<vecS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<dequeS> : ::boost::mpl::false_
+    {
+    };
+
+#if !defined BOOST_UNORDERED_ITERATORS_ARE_STABLE
+    template <>
+    struct has_stable_iterators_selector<hash_setS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<hash_mapS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<hash_multisetS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<hash_multimapS> : ::boost::mpl::false_
+    {
+    };
+#endif
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    template <>
+    struct has_stable_iterators_selector<boost_vecS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<boost_dequeS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<flat_setS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<flat_mapS> : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<flat_multisetS>
+      : ::boost::mpl::false_
+    {
+    };
+
+    template <>
+    struct has_stable_iterators_selector<flat_multimapS>
+      : ::boost::mpl::false_
+    {
+    };
+#endif
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_HAS_STABLE_ITERS_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/is_associative_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/is_associative_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,39 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_IS_ASSOCIATIVE_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_IS_ASSOCIATIVE_SELECTOR_HPP_INCLUDED
+
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/utility/is_unique_assoc_selector.hpp>
+#include <boost/utility/is_multiple_assoc_selector.hpp>
+
+//[reference__is_associative_selector
+namespace boost {
+
+    template <typename Selector>
+    struct is_associative_selector
+      : ::boost::mpl::or_<
+            is_unique_associative_selector<Selector>
+          , is_multiple_associative_selector<Selector>
+        >
+    {
+        //<-
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(
+            1
+          , is_associative_selector
+          , (Selector)
+        )
+        //->
+    };
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_IS_ASSOCIATIVE_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/is_multiple_assoc_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/is_multiple_assoc_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,85 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_IS_MULTIPLE_ASSOC_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_IS_MULTIPLE_ASSOC_SELECTOR_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/utility/container_selector.hpp>
+
+//[reference__is_multiple_associative_selector
+namespace boost {
+
+    template <typename Selector>
+    struct is_multiple_associative_selector : ::boost::mpl::false_
+    {
+        //<-
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(
+            1
+          , is_multiple_associative_selector
+          , (Selector)
+        )
+        //->
+    };
+
+    //<-
+    template <>
+    struct is_multiple_associative_selector<multisetS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_multiple_associative_selector<multimapS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_multiple_associative_selector<hash_multisetS>
+      : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_multiple_associative_selector<hash_multimapS>
+      : ::boost::mpl::true_
+    {
+    };
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    template <>
+    struct is_multiple_associative_selector<boost_multisetS>
+      : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_multiple_associative_selector<boost_multimapS>
+      : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_multiple_associative_selector<flat_multisetS>
+      : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_multiple_associative_selector<flat_multimapS>
+      : ::boost::mpl::true_
+    {
+    };
+#endif
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_IS_MULTIPLE_ASSOC_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/is_random_access_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/is_random_access_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,86 @@
+//=======================================================================
+// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
+// Copyright 2010 Thomas Claveirole
+// Copyright 2011-2012 Cromwell D. Enage
+// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Thomas Claveirole,
+//          Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_IS_RANDOM_ACCESS_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_IS_RANDOM_ACCESS_SELECTOR_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/utility/container_selector.hpp>
+
+//[reference__is_random_access_selector
+namespace boost {
+
+    template <typename Selector>
+    struct is_random_access_selector : ::boost::mpl::false_
+    {
+        //<-
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_random_access_selector,(Selector))
+        //->
+    };
+
+    //<-
+    template <>
+    struct is_random_access_selector<vecS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_random_access_selector<dequeS> : ::boost::mpl::true_
+    {
+    };
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    template <>
+    struct is_random_access_selector<boost_vecS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_random_access_selector<stable_vecS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_random_access_selector<boost_dequeS> : ::boost::mpl::true_
+    {
+    };
+
+#if 0
+    template <>
+    struct is_random_access_selector<flat_setS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_random_access_selector<flat_mapS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_random_access_selector<flat_multisetS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_random_access_selector<flat_multimapS> : ::boost::mpl::true_
+    {
+    };
+#endif
+#endif
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_IS_RANDOM_ACCESS_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/is_unique_assoc_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/is_unique_assoc_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,79 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_IS_UNIQUE_ASSOC_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_IS_UNIQUE_ASSOC_SELECTOR_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/utility/container_selector.hpp>
+
+//[reference__is_unique_associative_selector
+namespace boost {
+
+    template <typename Selector>
+    struct is_unique_associative_selector : ::boost::mpl::false_
+    {
+        //<-
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(
+            1
+          , is_unique_associative_selector
+          , (Selector)
+        )
+        //->
+    };
+
+    //<-
+    template <>
+    struct is_unique_associative_selector<setS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unique_associative_selector<mapS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unique_associative_selector<hash_setS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unique_associative_selector<hash_mapS> : ::boost::mpl::true_
+    {
+    };
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    template <>
+    struct is_unique_associative_selector<boost_setS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unique_associative_selector<boost_mapS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unique_associative_selector<flat_setS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unique_associative_selector<flat_mapS> : ::boost::mpl::true_
+    {
+    };
+#endif
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_IS_UNIQUE_ASSOC_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/is_unordered_selector.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/is_unordered_selector.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,52 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_IS_UNORDERED_SELECTOR_HPP_INCLUDED
+#define BOOST_UTILITY_IS_UNORDERED_SELECTOR_HPP_INCLUDED
+
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/utility/container_selector.hpp>
+
+//[reference__is_unordered_selector
+namespace boost {
+
+    template <typename Selector>
+    struct is_unordered_selector : ::boost::mpl::false_
+    {
+        //<-
+        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_unordered_selector,(Selector))
+        //->
+    };
+
+    //<-
+    template <>
+    struct is_unordered_selector<hash_setS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unordered_selector<hash_mapS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unordered_selector<hash_multisetS> : ::boost::mpl::true_
+    {
+    };
+
+    template <>
+    struct is_unordered_selector<hash_multimapS> : ::boost::mpl::true_
+    {
+    };
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_IS_UNORDERED_SELECTOR_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/ptr_assoc_container_gen.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/ptr_assoc_container_gen.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,313 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_PTR_ASSOC_CONTAINER_GEN_HPP_INCLUDED
+#define BOOST_UTILITY_PTR_ASSOC_CONTAINER_GEN_HPP_INCLUDED
+
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/tr1/type_traits.hpp>
+#include <boost/functional/hash.hpp>
+#include <boost/ptr_container/ptr_set.hpp>
+#include <boost/ptr_container/ptr_map.hpp>
+#include <boost/ptr_container/ptr_unordered_set.hpp>
+#include <boost/ptr_container/ptr_unordered_map.hpp>
+#include <boost/utility/container_selector.hpp>
+#include <boost/detail/metafunction/is_container.hpp>
+#include <boost/detail/function/range_equal.hpp>
+#include <boost/detail/function/range_less.hpp>
+
+//[reference__ptr_associative_container_gen
+namespace boost {
+
+    template <typename Selector>
+    struct ptr_associative_container_gen
+    {
+//<-
+#if 0
+//->
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            // typedef ... type;
+        };
+//<-
+#endif
+//->
+    };
+
+    //<-
+    template <>
+    struct ptr_associative_container_gen<setS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_set<Key,::boost::detail::range_less>
+                          , ::boost::ptr_map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_set<Key>
+                          , ::boost::ptr_map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<mapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_set<Key,::boost::detail::range_less>
+                          , ::boost::ptr_map<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_set<Key>
+                          , ::boost::ptr_map<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<multisetS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_multiset<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::ptr_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_multiset<Key>
+                          , ::boost::ptr_multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<multimapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_multiset<
+                                Key
+                              , ::boost::detail::range_less
+                            >
+                          , ::boost::ptr_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::detail::range_less
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_multiset<Key>
+                          , ::boost::ptr_multimap<Key,Mapped>
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<hash_setS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_set<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::boost::ptr_unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_set<Key,::boost::hash<Key> >
+                          , ::boost::ptr_unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<hash_mapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_set<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::boost::ptr_unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_set<Key,::boost::hash<Key> >
+                          , ::boost::ptr_unordered_map<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<hash_multisetS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::boost::ptr_unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                            >
+                          , ::boost::ptr_unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+
+    template <>
+    struct ptr_associative_container_gen<hash_multimapS>
+    {
+        template <typename Key, typename Mapped = void>
+        struct apply
+        {
+            typedef typename ::boost::mpl::eval_if<
+                        ::boost::detail::is_container<Key>
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                          , ::boost::ptr_unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                              , ::boost::detail::range_equal
+                            >
+                        >
+                      , ::boost::mpl::if_<
+                            ::std::tr1::is_same<Mapped,void>
+                          , ::boost::ptr_unordered_multiset<
+                                Key
+                              , ::boost::hash<Key>
+                            >
+                          , ::boost::ptr_unordered_multimap<
+                                Key
+                              , Mapped
+                              , ::boost::hash<Key>
+                            >
+                        >
+                    >::type
+                    type;
+        };
+    };
+    //->
+}  // namespace boost
+//]
+
+#endif  // BOOST_UTILITY_PTR_ASSOC_CONTAINER_GEN_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/boost/utility/ptr_container_gen.hpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/boost/utility/ptr_container_gen.hpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,213 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+
+#ifndef BOOST_UTILITY_PTR_CONTAINER_GEN_HPP_INCLUDED
+#define BOOST_UTILITY_PTR_CONTAINER_GEN_HPP_INCLUDED
+
+#include <boost/config.hpp>
+#include <boost/utility/container_selector.hpp>
+
+#if !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+#include <boost/mpl/if.hpp>
+#include <boost/functional/hash.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
+#include <boost/ptr_container/ptr_deque.hpp>
+#include <boost/ptr_container/ptr_list.hpp>
+#include <boost/ptr_container/ptr_set.hpp>
+#include <boost/ptr_container/ptr_map.hpp>
+#include <boost/ptr_container/ptr_unordered_set.hpp>
+#include <boost/ptr_container/ptr_unordered_map.hpp>
+#include <boost/detail/metafunction/is_container.hpp>
+#include <boost/detail/function/range_equal.hpp>
+#include <boost/detail/function/range_less.hpp>
+
+//[reference__ptr_container_gen__list_specialization
+namespace boost {
+
+    //<-
+    template <typename Selector, typename ValueType>
+    struct ptr_container_gen
+    {
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<vecS,ValueType>
+    {
+        typedef ::boost::ptr_vector<ValueType> type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<dequeS,ValueType>
+    {
+        typedef ::boost::ptr_deque<ValueType> type;
+    };
+    //->
+
+    template <typename ValueType>
+    struct ptr_container_gen<listS,ValueType>
+    {
+        typedef ::boost::ptr_list<ValueType> type;
+    };
+
+    //<-
+    template <typename ValueType>
+    struct ptr_container_gen<setS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_set<ValueType,::boost::detail::range_less>
+                  , ::boost::ptr_set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<mapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_set<ValueType,::boost::detail::range_less>
+                  , ::boost::ptr_set<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<multisetS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_multiset<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::ptr_multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<multimapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_multiset<
+                        ValueType
+                      , ::boost::detail::range_less
+                    >
+                  , ::boost::ptr_multiset<ValueType>
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<hash_setS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::boost::ptr_unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<hash_mapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::boost::ptr_unordered_set<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<hash_multisetS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::boost::ptr_unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+
+    template <typename ValueType>
+    struct ptr_container_gen<hash_multimapS,ValueType>
+    {
+        typedef typename ::boost::mpl::if_<
+                    ::boost::detail::is_container<ValueType>
+                  , ::boost::ptr_unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                      , ::boost::detail::range_equal
+                    >
+                  , ::boost::ptr_unordered_multiset<
+                        ValueType
+                      , ::boost::hash<ValueType>
+                    >
+                >::type
+                type;
+    };
+    //->
+}  // namespace boost
+//]
+
+#else  // defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+  //===========================================================================
+  // The main ptr_container_gen traits class uses partial specialization,
+  // so we also include a workaround.
+  //===========================================================================
+
+//[reference__ptr_container_gen
+namespace boost {
+
+    template <typename Selector, typename ValueType>
+    struct ptr_container_gen
+    {
+        //<-
+        typedef typename container_selector<Selector>::type
+                Select;
+        typedef typename Select::BOOST_NESTED_TEMPLATE bind_<
+                    ValueType
+                >::ptr_type
+                type;
+        //->
+        // typedef .... type;
+    };
+}  // namespace boost
+//]
+
+#endif  // !defined BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+#endif  // BOOST_UTILITY_PTR_CONTAINER_GEN_HPP_INCLUDED
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/changelog.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/changelog.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,22 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section Changelog]
+
+[heading From 0.1 to 0.2]
+
+  * Added `boost_vecS`, `stable_vecS`, `boost_dequeS`, `boost_listS`,
+    `boost_slistS`, `boost_setS`, `boost_mapS`, `boost_multisetS`,
+    `boost_multimapS`, `flat_setS`, `flat_mapS`, `flat_multisetS`, and
+    `flat_multimapS` selector types.
+  * Added __is_associative_selector__, __is_multiple_associative_selector__,
+    __is_unordered_selector__, and __has_stable_iterators_selector__
+    introspection metafunctions.
+
+[endsect] [/ Changelog]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/container_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/container_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,106 @@
+[library container_gen
+    [quickbook 1.5]
+    [version 0.2]
+    [authors [Lumsdaine, Andrew][Lee, Lie-Quan][Claveirole, Thomas][Siek, Jeremy G.][Enage, Cromwell D.]]
+    [copyright 1997-2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole, Jeremy G. Siek, Cromwell D. Enage]
+    [purpose Collection of container-generating metafunctions]
+    [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])
+    ]
+]
+
+[/ General concept links.]
+[def __Random_Access_Container__ [@http://www.sgi.com/tech/stl/RandomAccessContainer.html [*Random Access Container]]]
+[def __Associative_Container__ [@http://www.sgi.com/tech/stl/AssociativeContainer.html [*Associative Container]]]
+[def __Unique_Associative_Container__ [@http://www.sgi.com/tech/stl/UniqueAssociativeContainer.html [*Unique Associative Container]]]
+[def __Multiple_Associative_Container__ [@http://www.sgi.com/tech/stl/MultipleAssociativeContainer.html [*Multiple Associative Container]]]
+
+[/ STL reference links.]
+[def __std_list__ [@http://www.sgi.com/tech/stl/List.html `std::list`]]
+[def _std_string_ [@http://www.sgi.com/tech/stl/basic_string.html std::string]]
+
+[/ Boost library links.]
+[def __Boost_Utility__ [@boost:libs/utility/index.html [*Boost.Utility]]]
+[def __Boost_Unordered__ [@boost:doc/html/unordered.html [*Boost.Unordered]]]
+[def __Boost_Pointer_Container__ [@boost:libs/ptr_container/doc/index.html [*Boost.PointerContainer]]]
+[def __BGL__ [@boost:libs/graph/doc/index.html BGL]]
+
+[/ Boost reference links.]
+[def _mpl_apply_wrap1_ [@boost:libs/mpl/doc/refmanual/apply-wrap.html boost::mpl::apply_wrap1]]
+[def _mpl_apply_wrap2_ [@boost:libs/mpl/doc/refmanual/apply-wrap.html boost::mpl::apply_wrap2]]
+[def __mpl_true__ [@boost:libs/mpl/doc/refmanual/bool.html `boost::mpl::true_`]]
+[def __mpl_false__ [@boost:libs/mpl/doc/refmanual/bool.html `boost::mpl::false_`]]
+[def __graph_adjacency_list__ [@boost:libs/graph/doc/adjacency_list.html `boost::adjacency_list`]]
+[def __graph_parallel_edge_traits__ [@boost:libs/graph/doc/using_adjacency_list.html#SECTION00834200000000000000 `boost::parallel_edge_traits`]]
+[def __tr1_unordered_set__ [@boost:doc/html/boost_tr1/subject_list.html#boost_tr1.subject_list.unordered_set `std::tr1::unordered_set`]]
+[def __tr1_unordered_multiset__ [@boost:doc/html/boost_tr1/subject_list.html#boost_tr1.subject_list.unordered_set `std::tr1::unordered_multiset`]]
+[def __tr1_unordered_map__ [@boost:doc/html/boost_tr1/subject_list.html#boost_tr1.subject_list.unordered_map `std::tr1::unordered_map`]]
+[def __tr1_unordered_multimap__ [@boost:doc/html/boost_tr1/subject_list.html#boost_tr1.subject_list.unordered_map `std::tr1::unordered_multimap`]]
+
+[/ Boost.Utility.ContainerGen reference header file links.]
+[def __boost_utility_container_selector_hpp__ [@../../../../../boost/utility/container_selector.hpp boost/utility/container_selector.hpp]]
+[def __boost_utility_is_random_access_selector_hpp__ [@../../../../../boost/utility/is_random_access_selector.hpp boost/utility/is_random_access_selector.hpp]]
+[def __boost_utility_is_unique_assoc_selector_hpp__ [@../../../../../boost/utility/is_unique_assoc_selector.hpp boost/utility/is_unique_assoc_selector.hpp]]
+[def __boost_utility_is_multiple_assoc_selector_hpp__ [@../../../../../boost/utility/is_multiple_assoc_selector.hpp boost/utility/is_multiple_assoc_selector.hpp]]
+[def __boost_utility_is_associative_selector_hpp__ [@../../../../../boost/utility/is_associative_selector.hpp boost/utility/is_associative_selector.hpp]]
+[def __boost_utility_is_unordered_selector_hpp__ [@../../../../../boost/utility/is_unordered_selector.hpp boost/utility/is_unordered_selector.hpp]]
+[def __boost_utility_has_stable_iters_selector_hpp__ [@../../../../../boost/utility/has_stable_iters_selector.hpp boost/utility/has_stable_iters_selector.hpp]]
+[def __boost_utility_container_gen_hpp__ [@../../../../../boost/utility/container_gen.hpp boost/utility/container_gen.hpp]]
+[def __boost_utility_associative_container_gen_hpp__ [@../../../../../boost/utility/associative_container_gen.hpp boost/utility/associative_container_gen.hpp]]
+[def __boost_utility_ptr_container_gen_hpp__ [@../../../../../boost/utility/ptr_container_gen.hpp boost/utility/ptr_container_gen.hpp]]
+[def __boost_utility_ptr_assoc_container_gen_hpp__ [@../../../../../boost/utility/ptr_assoc_container_gen.hpp boost/utility/ptr_assoc_container_gen.hpp]]
+
+[/ Boost.Utility.ContainerGen reference links.]
+[def __container_gen__ [link container_gen.reference.container_gen `container_gen`]]
+[def _container_gen_ [link container_gen.reference.container_gen container_gen]]
+[def __associative_container_gen__ [link container_gen.reference.associative_container_gen `associative_container_gen`]]
+[def _associative_container_gen_ [link container_gen.reference.associative_container_gen associative_container_gen]]
+[def __ptr_container_gen__ [link container_gen.reference.ptr_container_gen `ptr_container_gen`]]
+[def _ptr_container_gen_ [link container_gen.reference.ptr_container_gen ptr_container_gen]]
+[def __ptr_associative_container_gen__ [link container_gen.reference.ptr_assoc_cont_gen `ptr_associative_container_gen`]]
+[def _ptr_associative_container_gen_ [link container_gen.reference.ptr_assoc_cont_gen ptr_associative_container_gen]]
+[def __is_random_access_selector__ [link container_gen.reference.is_random_access_selector `is_random_access_selector`]]
+[def _is_random_access_selector_ [link container_gen.reference.is_random_access_selector is_random_access_selector]]
+[def __is_unique_associative_selector__ [link container_gen.reference.is_unique_assoc_selector `is_unique_associative_selector`]]
+[def _is_unique_associative_selector_ [link container_gen.reference.is_unique_assoc_selector is_unique_associative_selector]]
+[def __is_multiple_associative_selector__ [link container_gen.reference.is_multiple_assoc_selector `is_multiple_associative_selector`]]
+[def _is_multiple_associative_selector_ [link container_gen.reference.is_multiple_assoc_selector is_multiple_associative_selector]]
+[def __is_associative_selector__ [link container_gen.reference.is_associative_selector `is_associative_selector`]]
+[def _is_associative_selector_ [link container_gen.reference.is_associative_selector is_associative_selector]]
+[def __is_unordered_selector__ [link container_gen.reference.is_unordered_selector `is_unordered_selector`]]
+[def _is_unordered_selector_ [link container_gen.reference.is_unordered_selector is_unordered_selector]]
+[def __has_stable_iterators_selector__ [link container_gen.reference.has_stable_iters_selector `has_stable_iterators_selector`]]
+[def _has_stable_iterators_selector_ [link container_gen.reference.has_stable_iters_selector has_stable_iterators_selector]]
+
+[/ Autogenerate reference documentation directly from code.]
+[/ Bypass Doxygen.]
+[import ../../../../boost/utility/container_selector.hpp]
+[import ../../../../boost/utility/container_gen.hpp]
+[import ../../../../boost/utility/associative_container_gen.hpp]
+[import ../../../../boost/utility/ptr_container_gen.hpp]
+[import ../../../../boost/utility/ptr_assoc_container_gen.hpp]
+[import ../../../../boost/utility/is_random_access_selector.hpp]
+[import ../../../../boost/utility/is_unique_assoc_selector.hpp]
+[import ../../../../boost/utility/is_multiple_assoc_selector.hpp]
+[import ../../../../boost/utility/is_associative_selector.hpp]
+[import ../../../../boost/utility/is_unordered_selector.hpp]
+[import ../../../../boost/utility/has_stable_iters_selector.hpp]
+[import ../../../../libs/graph/example/container_gen.cpp]
+[import ../../../../libs/utility/container_gen/example/output_shape_stats.cpp]
+[import ../../../../libs/utility/container_gen/example/output_char_tallies.cpp]
+
+[/ index.html Start]
+
+[heading Rationale]
+Significant interest was expressed in moving the `container_gen` metafunction
+from its current place in the __BGL__ to a more general residence such as
+__Boost_Utility__.  The relevant discussion is archived here:
+[@http://listarchives.boost.org/Archives/boost/2011/05/181573.php].
+
+[/ index.html End]
+
+[include reference.qbk]
+[include changelog.qbk]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/changelog.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/changelog.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Changelog</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="prev" href="reference/has_stable_iters_selector.html" title="has_stable_iterators_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/has_stable_iters_selector.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="container_gen.changelog"></a><a class="link" href="changelog.html" title="Changelog">Changelog</a>
+</h2></div></div></div>
+<a name="container_gen.changelog.from_0_1_to_0_2"></a><h4>
+<a name="idp14422272"></a>
+      <a class="link" href="changelog.html#container_gen.changelog.from_0_1_to_0_2">From 0.1 to 0.2</a>
+    </h4>
+<pre class="programlisting"><span class="special">*</span> <span class="identifier">Added</span> <span class="error">`</span><span class="identifier">boost_vecS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">stable_vecS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">boost_dequeS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">boost_listS</span><span class="error">`</span><span class="special">,</span>
+  <span class="error">`</span><span class="identifier">boost_slistS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">boost_setS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">boost_mapS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">boost_multisetS</span><span class="error">`</span><span class="special">,</span>
+  <span class="error">`</span><span class="identifier">boost_multimapS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">flat_setS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">flat_mapS</span><span class="error">`</span><span class="special">,</span> <span class="error">`</span><span class="identifier">flat_multisetS</span><span class="error">`</span><span class="special">,</span> <span class="keyword">and</span>
+  <span class="error">`</span><span class="identifier">flat_multimapS</span><span class="error">`</span> <span class="identifier">selector</span> <span class="identifier">types</span><span class="special">.</span>
+<span class="special">*</span> <span class="identifier">Added</span> <a class="link" href="reference/is_associative_selector.html" title="is_associative_selector"><code class="computeroutput"><span class="identifier">is_associative_selector</span></code></a><span class="special">,</span> <a class="link" href="reference/is_multiple_assoc_selector.html" title="is_multiple_associative_selector"><code class="computeroutput"><span class="identifier">is_multiple_associative_selector</span></code></a><span class="special">,</span>
+  <a class="link" href="reference/is_unordered_selector.html" title="is_unordered_selector"><code class="computeroutput"><span class="identifier">is_unordered_selector</span></code></a><span class="special">,</span> <span class="keyword">and</span> <a class="link" href="reference/has_stable_iters_selector.html" title="has_stable_iterators_selector"><code class="computeroutput"><span class="identifier">has_stable_iterators_selector</span></code></a>
+  <span class="identifier">introspection</span> <span class="identifier">metafunctions</span><span class="special">.</span>
+</pre>
+</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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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/has_stable_iters_selector.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,48 @@
+<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.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="prev" href="../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="next" href="reference/container_gen.html" title="container_gen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference/container_gen.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="container_gen.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="special">*</span> <a class="link" href="reference/container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/associative_container_gen.html" title="associative_container_gen"><code class="computeroutput"><span class="identifier">associative_container_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/ptr_container_gen.html" title="ptr_container_gen"><code class="computeroutput"><span class="identifier">ptr_container_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/ptr_assoc_cont_gen.html" title="ptr_associative_container_gen"><code class="computeroutput"><span class="identifier">ptr_associative_container_gen</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/is_random_access_selector.html" title="is_random_access_selector"><code class="computeroutput"><span class="identifier">is_random_access_selector</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/is_unique_assoc_selector.html" title="is_unique_associative_selector"><code class="computeroutput"><span class="identifier">is_unique_associative_selector</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/is_multiple_assoc_selector.html" title="is_multiple_associative_selector"><code class="computeroutput"><span class="identifier">is_multiple_associative_selector</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/is_associative_selector.html" title="is_associative_selector"><code class="computeroutput"><span class="identifier">is_associative_selector</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/is_unordered_selector.html" title="is_unordered_selector"><code class="computeroutput"><span class="identifier">is_unordered_selector</span></code></a>
+<span class="special">*</span> <a class="link" href="reference/has_stable_iters_selector.html" title="has_stable_iterators_selector"><code class="computeroutput"><span class="identifier">has_stable_iterators_selector</span></code></a>
+</pre>
+</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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference/container_gen.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/associative_container_gen.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/associative_container_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>associative_container_gen</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="container_gen.html" title="container_gen">
+<link rel="next" href="ptr_container_gen.html" title="ptr_container_gen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="container_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="ptr_container_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.associative_container_gen"></a><a class="link" href="associative_container_gen.html" title="associative_container_gen"><code class="computeroutput"><span class="identifier">associative_container_gen</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.associative_container_gen.synopsis"></a><a class="link" href="associative_container_gen.html#container_gen.reference.associative_container_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">associative_container_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Mapped</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="comment">// typedef ... type;
+</span>        <span class="special">};</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.associative_container_gen.description"></a><a class="link" href="associative_container_gen.html#container_gen.reference.associative_container_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          This metafunction class can be used to determine the appropriate associative
+          container type given the specified selector. The example routine below
+          uses the <code class="computeroutput"><span class="identifier">associative_container_gen</span></code>
+          return type to associate each distinct string character with the number
+          of times it appears in the string.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">output_char_tallies</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">str</span><span class="special">,</span> <span class="identifier">Selector</span><span class="special">)</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">mpl</span><span class="special">::</span><span class="identifier">apply_wrap2</span><span class="special"><</span>
+                <span class="identifier">boost</span><span class="special">::</span><span class="identifier">associative_container_gen</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span>
+              <span class="special">,</span> <span class="keyword">char</span>
+              <span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span>
+            <span class="special">>::</span><span class="identifier">type</span>
+            <span class="identifier">FrequencyTable</span><span class="special">;</span>
+
+    <span class="identifier">FrequencyTable</span> <span class="identifier">freq_table</span><span class="special">;</span>
+    <span class="keyword">char</span> <span class="identifier">reverse_counter</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">std</span><span class="special">::</span><span class="identifier">size_t</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"><</span> <span class="identifier">str</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+    <span class="special">{</span>
+        <span class="keyword">typename</span> <span class="identifier">FrequencyTable</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">ft_itr</span> <span class="special">=</span> <span class="identifier">freq_table</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">str</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+
+        <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ft_itr</span> <span class="special">==</span> <span class="identifier">freq_table</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+        <span class="special">{</span>
+            <span class="identifier">freq_table</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">FrequencyTable</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="identifier">str</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="keyword">else</span>
+        <span class="special">{</span>
+            <span class="special">++</span><span class="identifier">ft_itr</span><span class="special">-></span><span class="identifier">second</span><span class="special">;</span>
+        <span class="special">}</span>
+    <span class="special">}</span>
+
+    <span class="keyword">for</span> <span class="special">(</span>
+        <span class="keyword">typename</span> <span class="identifier">FrequencyTable</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">ft_itr</span> <span class="special">=</span> <span class="identifier">freq_table</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+        <span class="identifier">ft_itr</span> <span class="special">!=</span> <span class="identifier">freq_table</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span>
+        <span class="special">++</span><span class="identifier">ft_itr</span>
+    <span class="special">)</span>
+    <span class="special">{</span>
+        <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">ft_itr</span><span class="special">-></span><span class="identifier">first</span> <span class="special"><<</span> <span class="string">": "</span> <span class="special"><<</span> <span class="identifier">ft_itr</span><span class="special">-></span><span class="identifier">second</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+    <span class="special">}</span>
+
+    <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+        </p>
+<p>
+          This library provides specializations of this metafunction class for each
+          selector it provides whose resulting storage type models the Associative Container concept. Here, two
+          such selectors are passed in calls to the example routine.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">**)</span>
+<span class="special">{</span>
+    <span class="identifier">output_char_tallies</span><span class="special">(</span><span class="string">"abacadabra"</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash_mapS</span><span class="special">());</span>
+    <span class="identifier">output_char_tallies</span><span class="special">(</span><span class="string">"loolapalooza"</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multimapS</span><span class="special">());</span>
+    <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+        </p>
+<p>
+          It is possible to nest containers via <code class="computeroutput"><span class="identifier">associative_container_gen</span></code>,
+          e.g.:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span>
+            <span class="identifier">associative_container_gen</span><span class="special"><</span><span class="identifier">mapS</span><span class="special">></span>
+          <span class="special">,</span> boost::mpl::apply_wrap1<span class="special"><</span><span class="identifier">associative_container_gen</span><span class="special"><</span><span class="identifier">setS</span><span class="special">>,</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span>
+          <span class="special">,</span> std::string
+        <span class="special">>::</span><span class="identifier">type</span>
+        <span class="identifier">MapOfCharSets2Strings</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.associative_container_gen.definition"></a><a class="link" href="associative_container_gen.html#container_gen.reference.associative_container_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/associative_container_gen.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="container_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="ptr_container_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/container_gen.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/container_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,177 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>container_gen</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="associative_container_gen.html" title="associative_container_gen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_container_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.container_gen"></a><a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.container_gen.synopsis"></a><a class="link" href="container_gen.html#container_gen.reference.container_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">container_gen</span>
+    <span class="special">{</span>
+        <span class="comment">// typedef .... type;
+</span>    <span class="special">};</span>
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.container_gen.description"></a><a class="link" href="container_gen.html#container_gen.reference.container_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The boost::adjacency_list class template
+          uses this metafunction to map the <code class="computeroutput"><span class="identifier">OutEdgeList</span></code>
+          and <code class="computeroutput"><span class="identifier">VertexList</span></code> selectors
+          to the actual container types used for the graph storage. This library
+          provides specializations of this metafunction for each selector it defines.
+          Here are the selector definitions:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">struct</span> <span class="identifier">vecS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">dequeS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">listS</span> <span class="special">{</span> <span class="special">};</span>
+<span class="preprocessor">#if</span> <span class="special">!</span><span class="identifier">defined</span> <span class="identifier">BOOST_NO_SLIST</span>
+    <span class="keyword">struct</span> <span class="identifier">slistS</span> <span class="special">{</span> <span class="special">};</span>
+<span class="preprocessor">#endif</span>
+    <span class="keyword">struct</span> <span class="identifier">setS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">mapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">multisetS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">multimapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_vecS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">stable_vecS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_dequeS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_listS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_slistS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_setS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_mapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_multisetS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">boost_multimapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">hash_setS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">hash_mapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">hash_multisetS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">hash_multimapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">flat_setS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">flat_mapS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">flat_multisetS</span> <span class="special">{</span> <span class="special">};</span>
+    <span class="keyword">struct</span> <span class="identifier">flat_multimapS</span> <span class="special">{</span> <span class="special">};</span>
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+<p>
+          The specialization for the <code class="computeroutput"><span class="identifier">listS</span></code>
+          selector is shown here.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">container_gen</span><span class="special"><</span><span class="identifier">listS</span><span class="special">,</span><span class="identifier">ValueType</span><span class="special">></span>
+    <span class="special">{</span>
+        <span class="keyword">typedef</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special"><</span><span class="identifier">ValueType</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+<p>
+          To use some other container of your choice, or to supply more template
+          arguments to a standard container than just <code class="computeroutput"><span class="identifier">ValueType</span></code>,
+          define a selector class and then specialize this metafunction for your
+          selector. In the code below we show how to create a selector that lets
+          you specify the allocator to be used with the std::list.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">list_with_allocatorS</span> <span class="special">{</span> <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+  <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Alloc</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">></span>
+  <span class="keyword">struct</span> <span class="identifier">container_gen</span><span class="special"><</span><span class="identifier">list_with_allocatorS</span><span class="special"><</span><span class="identifier">Alloc</span><span class="special">>,</span><span class="identifier">ValueType</span><span class="special">></span> <span class="special">{</span>
+    <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Alloc</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">rebind</span><span class="special"><</span><span class="identifier">ValueType</span><span class="special">>::</span><span class="identifier">other</span> <span class="identifier">Allocator</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"><</span><span class="identifier">ValueType</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+  <span class="special">};</span>
+<span class="special">}</span>
+
+<span class="comment">// now you can define a graph using std::list and a specific allocator  
+</span><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adjacency_list</span><span class="special"><</span> <span class="identifier">list_with_allocatorS</span><span class="special"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">>,</span>
+  <span class="identifier">boost</span><span class="special">::</span><span class="identifier">vecS</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">directedS</span><span class="special">></span> <span class="identifier">MyGraph</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+<p>
+          It is possible to nest associative containers via <code class="computeroutput"><span class="identifier">container_gen</span></code>,
+          e.g.:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">container_gen</span><span class="special"><</span><span class="identifier">setS</span><span class="special">,</span><span class="identifier">container_gen</span><span class="special"><</span><span class="identifier">setS</span><span class="special">,</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span>
+        <span class="identifier">SetOfSetsOfIntegers</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.container_gen.definition"></a><a class="link" href="container_gen.html#container_gen.reference.container_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/container_gen.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="associative_container_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/has_stable_iters_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/has_stable_iters_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>has_stable_iterators_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_unordered_selector.html" title="is_unordered_selector">
+<link rel="next" href="../changelog.html" title="Changelog">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unordered_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../changelog.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.has_stable_iters_selector"></a><a class="link" href="has_stable_iters_selector.html" title="has_stable_iterators_selector"><code class="computeroutput"><span class="identifier">has_stable_iterators_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.has_stable_iters_selector.synopsis"></a><a class="link" href="has_stable_iters_selector.html#container_gen.reference.has_stable_iters_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">has_stable_iterators_selector</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.has_stable_iters_selector.description"></a><a class="link" href="has_stable_iters_selector.html#container_gen.reference.has_stable_iters_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Returns boost::mpl::true_ if the storage type does
+          not invalidate iterators other than the argument during an <code class="computeroutput"><span class="identifier">erase</span><span class="special">()</span></code>
+          call, boost::mpl::false_ otherwise.
+        </p>
+<p>
+          Specialize this metafunction to return boost::mpl::false_ for your custom selector
+          if and only if the storage type to be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> invalidates iterators
+          other than the argument during an <code class="computeroutput"><span class="identifier">erase</span><span class="special">()</span></code> call.
+        </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+            Because the iterators of Boost.Unordered containers can be invalidated
+            during rehashing, this metafunction has been specialized to return boost::mpl::false_
+            when passed the corresponding selectors. Define the <code class="computeroutput"><span class="identifier">BOOST_UNORDERED_ITERATORS_ARE_STABLE</span></code>
+            macro to inhibit the specializations if you can ensure that such rehashing
+            will never occur in your application.
+          </p></td></tr>
+</table></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.has_stable_iters_selector.definition"></a><a class="link" href="has_stable_iters_selector.html#container_gen.reference.has_stable_iters_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/has_stable_iters_selector.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="is_unordered_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../changelog.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_associative_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_associative_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_associative_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_multiple_assoc_selector.html" title="is_multiple_associative_selector">
+<link rel="next" href="is_unordered_selector.html" title="is_unordered_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multiple_assoc_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_unordered_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.is_associative_selector"></a><a class="link" href="is_associative_selector.html" title="is_associative_selector"><code class="computeroutput"><span class="identifier">is_associative_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_associative_selector.synopsis"></a><a class="link" href="is_associative_selector.html#container_gen.reference.is_associative_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">is_associative_selector</span>
+      <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">or_</span><span class="special"><</span>
+            <span class="identifier">is_unique_associative_selector</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span>
+          <span class="special">,</span> <span class="identifier">is_multiple_associative_selector</span><span class="special"><</span><span class="identifier">Selector</span><span class="special">></span>
+        <span class="special">></span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_associative_selector.description"></a><a class="link" href="is_associative_selector.html#container_gen.reference.is_associative_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Returns boost::mpl::true_ if the storage type will
+          model the Associative Container concept, boost::mpl::false_ otherwise.
+        </p>
+<p>
+          Specialize either the <a class="link" href="is_unique_assoc_selector.html" title="is_unique_associative_selector"><code class="computeroutput"><span class="identifier">is_unique_associative_selector</span></code></a>
+          metafunction or the <a class="link" href="is_multiple_assoc_selector.html" title="is_multiple_associative_selector"><code class="computeroutput"><span class="identifier">is_multiple_associative_selector</span></code></a>
+          metafunction to return boost::mpl::true_ for your custom selector
+          if and only if the storage type to be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> models the respective
+          concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_associative_selector.definition"></a><a class="link" href="is_associative_selector.html#container_gen.reference.is_associative_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/is_associative_selector.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="is_multiple_assoc_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_unordered_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_multiple_assoc_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_multiple_assoc_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_multiple_associative_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_unique_assoc_selector.html" title="is_unique_associative_selector">
+<link rel="next" href="is_associative_selector.html" title="is_associative_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unique_assoc_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_associative_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.is_multiple_assoc_selector"></a><a class="link" href="is_multiple_assoc_selector.html" title="is_multiple_associative_selector"><code class="computeroutput"><span class="identifier">is_multiple_associative_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_multiple_assoc_selector.synopsis"></a><a class="link" href="is_multiple_assoc_selector.html#container_gen.reference.is_multiple_assoc_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">is_multiple_associative_selector</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_multiple_assoc_selector.description"></a><a class="link" href="is_multiple_assoc_selector.html#container_gen.reference.is_multiple_assoc_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Returns boost::mpl::true_ if the storage type will
+          model the Multiple Associative Container concept,
+          boost::mpl::false_
+          otherwise.
+        </p>
+<p>
+          Specialize this metafunction to return boost::mpl::true_ for your custom selector
+          if and only if the storage type to be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> models the Multiple Associative Container concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_multiple_assoc_selector.definition"></a><a class="link" href="is_multiple_assoc_selector.html#container_gen.reference.is_multiple_assoc_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/is_multiple_assoc_selector.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="is_unique_assoc_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_associative_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_random_access_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_random_access_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_random_access_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ptr_assoc_cont_gen.html" title="ptr_associative_container_gen">
+<link rel="next" href="is_unique_assoc_selector.html" title="is_unique_associative_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ptr_assoc_cont_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_unique_assoc_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.is_random_access_selector"></a><a class="link" href="is_random_access_selector.html" title="is_random_access_selector"><code class="computeroutput"><span class="identifier">is_random_access_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_random_access_selector.synopsis"></a><a class="link" href="is_random_access_selector.html#container_gen.reference.is_random_access_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">is_random_access_selector</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_random_access_selector.description"></a><a class="link" href="is_random_access_selector.html#container_gen.reference.is_random_access_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The boost::adjacency_list class template
+          uses this metafunction to determine whether or not it will provide an internal
+          property map that associates its vertex descriptors with unique indices.
+          Returns boost::mpl::true_ if the storage type will
+          model the Random Access Container concept, boost::mpl::false_
+          otherwise.
+        </p>
+<p>
+          Specialize this metafunction to return boost::mpl::true_ for your custom selector
+          if and only if the storage type to be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> models the Random Access Container concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_random_access_selector.definition"></a><a class="link" href="is_random_access_selector.html#container_gen.reference.is_random_access_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/is_random_access_selector.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="ptr_assoc_cont_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_unique_assoc_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unique_assoc_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unique_assoc_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_unique_associative_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_random_access_selector.html" title="is_random_access_selector">
+<link rel="next" href="is_multiple_assoc_selector.html" title="is_multiple_associative_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_random_access_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_multiple_assoc_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.is_unique_assoc_selector"></a><a class="link" href="is_unique_assoc_selector.html" title="is_unique_associative_selector"><code class="computeroutput"><span class="identifier">is_unique_associative_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unique_assoc_selector.synopsis"></a><a class="link" href="is_unique_assoc_selector.html#container_gen.reference.is_unique_assoc_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">is_unique_associative_selector</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unique_assoc_selector.description"></a><a class="link" href="is_unique_assoc_selector.html#container_gen.reference.is_unique_assoc_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The boost::parallel_edge_traits metafunction
+          uses this metafunction to specify whether or not the storage type returned
+          by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> will allow parallel
+          edges--that is, if the storage type will <span class="bold"><strong>not</strong></span>
+          model the Unique Associative Container concept. Returns
+          boost::mpl::true_
+          if the storage type <span class="bold"><strong>will</strong></span> model the Unique Associative Container concept, boost::mpl::false_
+          otherwise.
+        </p>
+<p>
+          Specialize this metafunction to return boost::mpl::true_ for your custom selector
+          if and only if the storage type to be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> models the Unique Associative Container concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unique_assoc_selector.definition"></a><a class="link" href="is_unique_assoc_selector.html#container_gen.reference.is_unique_assoc_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/is_unique_assoc_selector.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="is_random_access_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_multiple_assoc_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unique_associative_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unique_associative_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_unique_associative_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.1">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_random_access_selector.html" title="is_random_access_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_random_access_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.is_unique_associative_selector"></a><a class="link" href="is_unique_associative_selector.html" title="is_unique_associative_selector"><code class="computeroutput"><span class="identifier">is_unique_associative_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unique_associative_selector.synopsis"></a><a class="link" href="is_unique_associative_selector.html#container_gen.reference.is_unique_associative_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">is_unique_associative_selector</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unique_associative_selector.description"></a><a class="link" href="is_unique_associative_selector.html#container_gen.reference.is_unique_associative_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          The boost::parallel_edge_traits metafunction
+          uses this metafunction to specify whether or not the storage type returned
+          by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> will allow parallel
+          edges--that is, if the storage type will <span class="bold"><strong>not</strong></span>
+          model the Unique Associative Container concept. Returns
+          boost::mpl::true_
+          if the storage type <span class="bold"><strong>will</strong></span> model the Unique Associative Container concept, boost::mpl::false_
+          otherwise.
+        </p>
+<p>
+          Specialize this metafunction to return boost::mpl::true_ for your custom selector
+          if and only if the storage type to be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> models the Unique Associative Container concept.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unique_associative_selector.definition"></a><a class="link" href="is_unique_associative_selector.html#container_gen.reference.is_unique_associative_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/is_unique_assoc_selector.hpp<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 © 1997 -2011 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="is_random_access_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unordered_selector.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/is_unordered_selector.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_unordered_selector</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_associative_selector.html" title="is_associative_selector">
+<link rel="next" href="has_stable_iters_selector.html" title="has_stable_iterators_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_associative_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="has_stable_iters_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.is_unordered_selector"></a><a class="link" href="is_unordered_selector.html" title="is_unordered_selector"><code class="computeroutput"><span class="identifier">is_unordered_selector</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unordered_selector.synopsis"></a><a class="link" href="is_unordered_selector.html#container_gen.reference.is_unordered_selector.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">is_unordered_selector</span> <span class="special">:</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unordered_selector.description"></a><a class="link" href="is_unordered_selector.html#container_gen.reference.is_unordered_selector.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Returns boost::mpl::true_ if the storage type to
+          be returned by <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> is an instantiation
+          of either std::tr1::unordered_set or std::tr1::unordered_multiset, or if the
+          storage type to be returned by <a class="link" href="associative_container_gen.html" title="associative_container_gen"><code class="computeroutput"><span class="identifier">associative_container_gen</span></code></a> is an
+          instantiation of either std::tr1::unordered_map or std::tr1::unordered_multimap, boost::mpl::false_ otherwise.
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.is_unordered_selector.definition"></a><a class="link" href="is_unordered_selector.html#container_gen.reference.is_unordered_selector.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/is_unordered_selector.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="is_associative_selector.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="has_stable_iters_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/ptr_assoc_cont_gen.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/ptr_assoc_cont_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ptr_associative_container_gen</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ptr_container_gen.html" title="ptr_container_gen">
+<link rel="next" href="is_random_access_selector.html" title="is_random_access_selector">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ptr_container_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_random_access_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.ptr_assoc_cont_gen"></a><a class="link" href="ptr_assoc_cont_gen.html" title="ptr_associative_container_gen"><code class="computeroutput"><span class="identifier">ptr_associative_container_gen</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.ptr_assoc_cont_gen.synopsis"></a><a class="link" href="ptr_assoc_cont_gen.html#container_gen.reference.ptr_assoc_cont_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">ptr_associative_container_gen</span>
+    <span class="special">{</span>
+        <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Mapped</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
+        <span class="keyword">struct</span> <span class="identifier">apply</span>
+        <span class="special">{</span>
+            <span class="comment">// typedef ... type;
+</span>        <span class="special">};</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.ptr_assoc_cont_gen.description"></a><a class="link" href="ptr_assoc_cont_gen.html#container_gen.reference.ptr_assoc_cont_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          TODO
+        </p>
+<p>
+          It is possible to nest containers via <code class="computeroutput"><span class="identifier">ptr_associative_container_gen</span></code>,
+          e.g.:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> boost::mpl::apply_wrap2<span class="special"><</span>
+            <span class="identifier">ptr_associative_container_gen</span><span class="special"><</span><span class="identifier">mapS</span><span class="special">></span>
+          <span class="special">,</span> boost::mpl::apply_wrap1<span class="special"><</span><span class="identifier">ptr_associative_container_gen</span><span class="special"><</span><span class="identifier">setS</span><span class="special">>,</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span>
+          <span class="special">,</span> std::string
+        <span class="special">>::</span><span class="identifier">type</span>
+        <span class="identifier">MapOfCharSets2Strings</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.ptr_assoc_cont_gen.definition"></a><a class="link" href="ptr_assoc_cont_gen.html#container_gen.reference.ptr_assoc_cont_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/ptr_assoc_container_gen.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="ptr_container_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="is_random_access_selector.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/ptr_container_gen.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/container_gen/reference/ptr_container_gen.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,308 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ptr_container_gen</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. container_gen 0.2">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="associative_container_gen.html" title="associative_container_gen">
+<link rel="next" href="ptr_assoc_cont_gen.html" title="ptr_associative_container_gen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="C++ Boost" width="277" height="86" src="../../../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="associative_container_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="ptr_assoc_cont_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="container_gen.reference.ptr_container_gen"></a><a class="link" href="ptr_container_gen.html" title="ptr_container_gen"><code class="computeroutput"><span class="identifier">ptr_container_gen</span></code></a>
+</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.ptr_container_gen.synopsis"></a><a class="link" href="ptr_container_gen.html#container_gen.reference.ptr_container_gen.synopsis" title="Synopsis">Synopsis</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Selector</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">ptr_container_gen</span>
+    <span class="special">{</span>
+        <span class="comment">// typedef .... type;
+</span>    <span class="special">};</span>
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.ptr_container_gen.description"></a><a class="link" href="ptr_container_gen.html#container_gen.reference.ptr_container_gen.description" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+          Analagous to the <a class="link" href="container_gen.html" title="container_gen"><code class="computeroutput"><span class="identifier">container_gen</span></code></a> metafunction, you
+          can use this one to easily select an appropriate Boost.PointerContainer type. Pointer containers
+          are ideal for storing heterogeneous items with a common base type, e.g.
+          shapes:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_shape</span>
+<span class="special">{</span>
+    <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">my_shape</span><span class="special">()</span>
+    <span class="special">{</span>
+    <span class="special">}</span>
+
+    <span class="keyword">virtual</span> <span class="keyword">double</span> <span class="identifier">compute_perimeter</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+
+    <span class="keyword">virtual</span> <span class="keyword">double</span> <span class="identifier">compute_area</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">your_square</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">my_shape</span>
+<span class="special">{</span>
+    <span class="keyword">double</span> <span class="identifier">length</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+    <span class="keyword">explicit</span> <span class="identifier">your_square</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">1.0</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">length</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span>
+    <span class="special">{</span>
+    <span class="special">}</span>
+
+    <span class="keyword">double</span> <span class="identifier">compute_perimeter</span><span class="special">()</span> <span class="keyword">const</span>
+    <span class="special">{</span>
+        <span class="keyword">return</span> <span class="identifier">length</span> <span class="special">*</span> <span class="number">4.0</span><span class="special">;</span>
+    <span class="special">}</span>
+
+    <span class="keyword">double</span> <span class="identifier">compute_area</span><span class="special">()</span> <span class="keyword">const</span>
+    <span class="special">{</span>
+        <span class="keyword">return</span> <span class="identifier">length</span> <span class="special">*</span> <span class="identifier">length</span><span class="special">;</span>
+    <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">your_circle</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">my_shape</span>
+<span class="special">{</span>
+    <span class="keyword">double</span> <span class="identifier">radius</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+    <span class="keyword">explicit</span> <span class="identifier">your_circle</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">r</span> <span class="special">=</span> <span class="number">1.0</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">radius</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span>
+    <span class="special">{</span>
+    <span class="special">}</span>
+
+    <span class="keyword">double</span> <span class="identifier">compute_perimeter</span><span class="special">()</span> <span class="keyword">const</span>
+    <span class="special">{</span>
+        <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special"><</span><span class="keyword">double</span><span class="special">>()</span> <span class="special">*</span> <span class="identifier">radius</span> <span class="special">*</span> <span class="number">2.0</span><span class="special">;</span>
+    <span class="special">}</span>
+
+    <span class="keyword">double</span> <span class="identifier">compute_area</span><span class="special">()</span> <span class="keyword">const</span>
+    <span class="special">{</span>
+        <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special"><</span><span class="keyword">double</span><span class="special">>()</span> <span class="special">*</span> <span class="identifier">radius</span> <span class="special">*</span> <span class="identifier">radius</span><span class="special">;</span>
+    <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">some_right_triangle</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">my_shape</span>
+<span class="special">{</span>
+    <span class="keyword">double</span> <span class="identifier">base</span><span class="special">;</span>
+    <span class="keyword">double</span> <span class="identifier">height</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+    <span class="identifier">some_right_triangle</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">h</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">base</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">height</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span>
+    <span class="special">{</span>
+    <span class="special">}</span>
+
+    <span class="identifier">some_right_triangle</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">base</span><span class="special">(</span><span class="number">1.0</span><span class="special">),</span> <span class="identifier">height</span><span class="special">(</span><span class="number">1.0</span><span class="special">)</span>
+    <span class="special">{</span>
+    <span class="special">}</span>
+
+    <span class="keyword">double</span> <span class="identifier">compute_perimeter</span><span class="special">()</span> <span class="keyword">const</span>
+    <span class="special">{</span>
+        <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+        <span class="keyword">return</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">base</span> <span class="special">*</span> <span class="identifier">base</span> <span class="special">+</span> <span class="identifier">height</span> <span class="special">*</span> <span class="identifier">height</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">base</span> <span class="special">+</span> <span class="identifier">height</span><span class="special">;</span>
+    <span class="special">}</span>
+
+    <span class="keyword">double</span> <span class="identifier">compute_area</span><span class="special">()</span> <span class="keyword">const</span>
+    <span class="special">{</span>
+        <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">half</span><span class="special"><</span><span class="keyword">double</span><span class="special">>()</span> <span class="special">*</span> <span class="identifier">base</span> <span class="special">*</span> <span class="identifier">height</span><span class="special">;</span>
+    <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+        </p>
+<p>
+          Algorithms that work on the standard containers also work on pointer containers
+          out of the box.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">add_perimeter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">value</span><span class="special">,</span> <span class="identifier">my_shape</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">shape</span><span class="special">)</span>
+<span class="special">{</span>
+    <span class="keyword">return</span> <span class="identifier">shape</span><span class="special">.</span><span class="identifier">compute_perimeter</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">double</span> <span class="identifier">add_area</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">value</span><span class="special">,</span> <span class="identifier">my_shape</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">shape</span><span class="special">)</span>
+<span class="special">{</span>
+    <span class="keyword">return</span> <span class="identifier">shape</span><span class="special">.</span><span class="identifier">compute_area</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Shapes</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">output_shape_stats</span><span class="special">(</span><span class="identifier">Shapes</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">shapes</span><span class="special">)</span>
+<span class="special">{</span>
+    <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Total perimeter length = "</span> <span class="special"><<</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">accumulate</span><span class="special">(</span>
+        <span class="identifier">shapes</span>
+      <span class="special">,</span> <span class="number">0.0</span>
+      <span class="special">,</span> <span class="identifier">add_perimeter</span>
+    <span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+    <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Total area = "</span> <span class="special"><<</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">accumulate</span><span class="special">(</span>
+        <span class="identifier">shapes</span>
+      <span class="special">,</span> <span class="number">0.0</span>
+      <span class="special">,</span> <span class="identifier">add_area</span>
+    <span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+        </p>
+<p>
+          The <code class="computeroutput"><span class="identifier">ptr_container_gen</span></code> metafunction
+          allows you to programmatically swap out different pointer container types
+          using type selectors.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">**)</span>
+<span class="special">{</span>
+    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_container_gen</span><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">listS</span><span class="special">,</span><span class="identifier">my_shape</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">shapes</span><span class="special">;</span>
+
+    <span class="identifier">shapes</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">your_square</span><span class="special">());</span>
+    <span class="identifier">shapes</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">your_circle</span><span class="special">());</span>
+    <span class="identifier">shapes</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">some_right_triangle</span><span class="special">());</span>
+
+    <span class="identifier">output_shape_stats</span><span class="special">(</span><span class="identifier">shapes</span><span class="special">);</span>
+    <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+        </p>
+<p>
+          This library provides specializations of the <code class="computeroutput"><span class="identifier">ptr_container_gen</span></code>
+          metafunction for each selector it defines. Here are the selector definitions:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+    <span class="keyword">struct</span> <span class="identifier">vecS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">dequeS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">listS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+
+    <span class="keyword">struct</span> <span class="identifier">setS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">mapS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">multisetS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">multimapS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">hash_setS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">hash_mapS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">hash_multisetS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+    <span class="keyword">struct</span> <span class="identifier">hash_multimapS</span>
+    <span class="special">{</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+<p>
+          The specialization for the <code class="computeroutput"><span class="identifier">listS</span></code>
+          selector is shown here.
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">></span>
+    <span class="keyword">struct</span> <span class="identifier">ptr_container_gen</span><span class="special"><</span><span class="identifier">listS</span><span class="special">,</span><span class="identifier">ValueType</span><span class="special">></span>
+    <span class="special">{</span>
+        <span class="keyword">typedef</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">ptr_list</span><span class="special"><</span><span class="identifier">ValueType</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+    <span class="special">};</span>
+
+<span class="special">}</span>  <span class="comment">// namespace boost
+</span></pre>
+<p>
+        </p>
+<p>
+          It is possible to nest associative containers via <code class="computeroutput"><span class="identifier">ptr_container_gen</span></code>,
+          e.g.:
+        </p>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ptr_container_gen</span><span class="special"><</span><span class="identifier">setS</span><span class="special">,</span><span class="identifier">ptr_container_gen</span><span class="special"><</span><span class="identifier">setS</span><span class="special">,</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span>
+        <span class="identifier">SetOfSetsOfIntegers</span><span class="special">;</span>
+</pre>
+<p>
+        </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="container_gen.reference.ptr_container_gen.definition"></a><a class="link" href="ptr_container_gen.html#container_gen.reference.ptr_container_gen.definition" title="Where defined">Where
+        defined</a>
+</h4></div></div></div>
+<p>
+          
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span>boost/utility/ptr_container_gen.hpp<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 © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage<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="associative_container_gen.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="ptr_assoc_cont_gen.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/html/index.html	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter 1. container_gen 0.2</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Chapter 1. container_gen 0.2">
+<link rel="next" href="container_gen/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="C++ Boost" width="277" height="86" src="../../../../../boost.png"></td></tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="container_gen/reference.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="chapter">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="container_gen"></a>Chapter 1. container_gen 0.2</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Andrew</span> <span class="surname">Lumsdaine</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Lie-Quan</span> <span class="surname">Lee</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Thomas</span> <span class="surname">Claveirole</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Jeremy G.</span> <span class="surname">Siek</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Cromwell D.</span> <span class="surname">Enage</span>
+</h3></div></div>
+<div><p class="copyright">Copyright © 1997 -2012 Andrew Lumsdaine, Lie-Quan Lee, Thomas Claveirole,
+      Jeremy G. Siek, Cromwell D. Enage</p></div>
+<div><div class="legalnotice">
+<a name="idp13450672"></a><p>
+        Distributed under the Boost Software License, Version 1.0. (See accompanying
+        file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+      </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Reference</span></dt>
+<dt><span class="section">Changelog</span></dt>
+</dl>
+</div>
+<a name="container_gen.rationale"></a><h3>
+<a name="idp13452848"></a>
+    <a class="link" href="index.html#container_gen.rationale">Rationale</a>
+  </h3>
+<p>
+    Significant interest was expressed in moving the <code class="computeroutput"><span class="identifier">container_gen</span></code>
+    metafunction from its current place in the BGL
+    to a more general residence such as Boost.Utility. The relevant discussion is archived
+    here: http://listarchives.boost.org/Archives/boost/2011/05/181573.php.
+  </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: January 31, 2012 at 08:16:12 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="container_gen/reference.html"><img src="images/next.png" alt="Next"></a></div>
+</body>
+</html>
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_assoc_container_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_assoc_container_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,49 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:associative_container_gen `associative_container_gen`]
+
+[section Synopsis]
+[reference__associative_container_gen]
+[endsect]
+
+[section Description]
+This metafunction class can be used to determine the appropriate associative
+container type given the specified selector.  The example routine below uses
+the `associative_container_gen` return type to associate each distinct string
+character with the number of times it appears in the string.
+
+[example__output_char_tallies__definition]
+
+This library provides specializations of this metafunction class for each
+selector it provides whose resulting storage type models the
+__Associative_Container__ concept.  Here, two such selectors are passed in
+calls to the example routine.
+
+[example__output_char_tallies__calls]
+
+It is possible to nest containers via `associative_container_gen`, e.g.:
+
+``
+typedef _mpl_apply_wrap2_<
+            associative_container_gen<mapS>
+          , _mpl_apply_wrap1_<associative_container_gen<setS>,char>::type
+          , _std_string_
+        >::type
+        MapOfCharSets2Strings;
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_associative_container_gen_hpp__>
+``
+[endsect]
+
+[endsect] [/ associative_container_gen]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_container_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_container_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,51 @@
+[/=============================================================================
+    Copyright (C) 2000-2001 Jeremy G. Siek
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:container_gen `container_gen`]
+
+[section Synopsis]
+[reference__container_gen]
+[endsect]
+
+[section Description]
+The __graph_adjacency_list__ class template uses this metafunction to map the
+`OutEdgeList` and `VertexList` selectors to the actual container types used for
+the graph storage.  This library provides specializations of this metafunction
+for each selector it defines.  Here are the selector definitions:
+
+[reference__container_selectors]
+
+The specialization for the `listS` selector is shown here.
+
+[reference__container_gen__list_specialization]
+
+To use some other container of your choice, or to supply more template
+arguments to a standard container than just `ValueType`, define a selector
+class and then specialize this metafunction for your selector.  In the code
+below we show how to create a selector that lets you specify the allocator
+to be used with the __std_list__.
+
+[example__container_gen__list_with_allocator_selector]
+
+It is possible to nest associative containers via `container_gen`, e.g.:
+
+``
+typedef container_gen<setS,container_gen<setS,int>::type>::type
+        SetOfSetsOfIntegers;
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_container_gen_hpp__>
+``
+[endsect]
+
+[endsect] [/ container_gen]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_has_stable_iters_sel.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_has_stable_iters_sel.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,39 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:has_stable_iters_selector `has_stable_iterators_selector`]
+
+[section Synopsis]
+[reference__has_stable_iterators_selector]
+[endsect]
+
+[section Description]
+Returns __mpl_true__ if the storage type does not invalidate iterators other
+than the argument during an `erase()` call, __mpl_false__ otherwise.
+
+Specialize this metafunction to return __mpl_false__ for your custom selector
+if and only if the storage type to be returned by __container_gen__ invalidates
+iterators other than the argument during an `erase()` call.
+
+[important
+    Because the iterators of __Boost_Unordered__ containers can be invalidated
+    during rehashing, this metafunction has been specialized to return
+    __mpl_false__ when passed the corresponding selectors.  Define the
+    `BOOST_UNORDERED_ITERATORS_ARE_STABLE` macro to inhibit the specializations
+    if you can ensure that such rehashing will never occur in your application.
+]
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_has_stable_iters_selector_hpp__>
+``
+[endsect]
+
+[endsect] [/ has_stable_iterators_selector]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_associative_selector.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_associative_selector.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,32 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:is_associative_selector `is_associative_selector`]
+
+[section Synopsis]
+[reference__is_associative_selector]
+[endsect]
+
+[section Description]
+Returns __mpl_true__ if the storage type will model the
+__Associative_Container__ concept, __mpl_false__ otherwise.
+
+Specialize either the __is_unique_associative_selector__ metafunction or the
+__is_multiple_associative_selector__ metafunction to return __mpl_true__ for
+your custom selector if and only if the storage type to be returned by
+__container_gen__ models the respective concept.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_is_associative_selector_hpp__>
+``
+[endsect]
+
+[endsect] [/ is_associative_selector]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_multiple_assoc_sel.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_multiple_assoc_sel.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,31 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:is_multiple_assoc_selector `is_multiple_associative_selector`]
+
+[section Synopsis]
+[reference__is_multiple_associative_selector]
+[endsect]
+
+[section Description]
+Returns __mpl_true__ if the storage type will model the
+__Multiple_Associative_Container__ concept, __mpl_false__ otherwise.
+
+Specialize this metafunction to return __mpl_true__ for your custom selector if
+and only if the storage type to be returned by __container_gen__ models the
+__Multiple_Associative_Container__ concept.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_is_multiple_assoc_selector_hpp__>
+``
+[endsect]
+
+[endsect] [/ is_multiple_associative_selector]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_rand_access_selector.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_rand_access_selector.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,34 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:is_random_access_selector `is_random_access_selector`]
+
+[section Synopsis]
+[reference__is_random_access_selector]
+[endsect]
+
+[section Description]
+The __graph_adjacency_list__ class template uses this metafunction to determine
+whether or not it will provide an internal property map that associates its
+vertex descriptors with unique indices.  Returns __mpl_true__ if the storage
+type will model the __Random_Access_Container__ concept, __mpl_false__
+otherwise.
+
+Specialize this metafunction to return __mpl_true__ for your custom selector if
+and only if the storage type to be returned by __container_gen__ models the
+__Random_Access_Container__ concept.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_is_random_access_selector_hpp__>
+``
+[endsect]
+
+[endsect] [/ is_random_access_selector]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_unique_assoc_sel.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_unique_assoc_sel.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,35 @@
+[/=============================================================================
+    Copyright (C) 2011 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:is_unique_assoc_selector `is_unique_associative_selector`]
+
+[section Synopsis]
+[reference__is_unique_associative_selector]
+[endsect]
+
+[section Description]
+The __graph_parallel_edge_traits__ metafunction uses this metafunction to
+specify whether or not the storage type returned by __container_gen__ will
+allow parallel edges--that is, if the storage type will *not* model the
+__Unique_Associative_Container__ concept.  Returns __mpl_true__ if the storage
+type *will* model the __Unique_Associative_Container__ concept, __mpl_false__
+otherwise.
+
+Specialize this metafunction to return __mpl_true__ for your custom selector if
+and only if the storage type to be returned by __container_gen__ models the
+__Unique_Associative_Container__ concept.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_is_unique_assoc_selector_hpp__>
+``
+[endsect]
+
+[endsect] [/ is_unique_associative_selector]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_unordered_selector.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_is_unordered_selector.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,30 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:is_unordered_selector `is_unordered_selector`]
+
+[section Synopsis]
+[reference__is_unordered_selector]
+[endsect]
+
+[section Description]
+Returns __mpl_true__ if the storage type to be returned by __container_gen__ is
+an instantiation of either __tr1_unordered_set__ or __tr1_unordered_multiset__,
+or if the storage type to be returned by __associative_container_gen__ is an
+instantiation of either __tr1_unordered_map__ or __tr1_unordered_multimap__,
+__mpl_false__ otherwise.
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_is_unordered_selector_hpp__>
+``
+[endsect]
+
+[endsect] [/ is_unordered_selector]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_ptr_assoc_container_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_ptr_assoc_container_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,37 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:ptr_assoc_cont_gen `ptr_associative_container_gen`]
+
+[section Synopsis]
+[reference__ptr_associative_container_gen]
+[endsect]
+
+[section Description]
+TODO
+
+It is possible to nest containers via `ptr_associative_container_gen`, e.g.:
+
+``
+typedef _mpl_apply_wrap2_<
+            ptr_associative_container_gen<mapS>
+          , _mpl_apply_wrap1_<ptr_associative_container_gen<setS>,char>::type
+          , _std_string_
+        >::type
+        MapOfCharSets2Strings;
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_ptr_assoc_container_gen_hpp__>
+``
+[endsect]
+
+[endsect] [/ ptr_associative_container_gen]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_ptr_container_gen.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/ref_ptr_container_gen.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,56 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section:ptr_container_gen `ptr_container_gen`]
+
+[section Synopsis]
+[reference__ptr_container_gen]
+[endsect]
+
+[section Description]
+Analagous to the __container_gen__ metafunction, you can use this one to easily
+select an appropriate __Boost_Pointer_Container__ type.  Pointer containers are
+ideal for storing heterogeneous items with a common base type, e.g. shapes:
+
+[example__output_shape_stats__type_definitions]
+
+Algorithms that work on the standard containers also work on pointer containers
+out of the box.
+
+[example__output_shape_stats__functions]
+
+The `ptr_container_gen` metafunction allows you to programmatically swap out
+different pointer container types using type selectors.
+
+[example__output_shape_stats__usage]
+
+This library provides specializations of the `ptr_container_gen` metafunction
+for each selector it defines.  Here are the selector definitions:
+
+[reference__ptr_container_selectors]
+
+The specialization for the `listS` selector is shown here.
+
+[reference__ptr_container_gen__list_specialization]
+
+It is possible to nest associative containers via `ptr_container_gen`, e.g.:
+
+``
+typedef ptr_container_gen<setS,ptr_container_gen<setS,int>::type>::type
+        SetOfSetsOfIntegers;
+``
+[endsect]
+
+[section:definition Where defined]
+``
+#include <__boost_utility_ptr_container_gen_hpp__>
+``
+[endsect]
+
+[endsect] [/ ptr_container_gen]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/doc/reference.qbk
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/doc/reference.qbk	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,34 @@
+[/=============================================================================
+    Copyright (C) 2011-2012 Cromwell D. Enage
+
+    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])
+=============================================================================/]
+
+[section Reference]
+
+[include ref_container_gen.qbk]
+[include ref_assoc_container_gen.qbk]
+[include ref_ptr_container_gen.qbk]
+[include ref_ptr_assoc_container_gen.qbk]
+[include ref_is_rand_access_selector.qbk]
+[include ref_is_unique_assoc_sel.qbk]
+[include ref_is_multiple_assoc_sel.qbk]
+[include ref_is_associative_selector.qbk]
+[include ref_is_unordered_selector.qbk]
+[include ref_has_stable_iters_sel.qbk]
+
+  * __container_gen__
+  * __associative_container_gen__
+  * __ptr_container_gen__
+  * __ptr_associative_container_gen__
+  * __is_random_access_selector__
+  * __is_unique_associative_selector__
+  * __is_multiple_associative_selector__
+  * __is_associative_selector__
+  * __is_unordered_selector__
+  * __has_stable_iterators_selector__
+
+[endsect] [/ Reference]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/example/output_char_tallies.cpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/example/output_char_tallies.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,62 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+#include <iostream>
+#include <string>
+#include <boost/mpl/apply_wrap.hpp>
+#include <boost/utility/associative_container_gen.hpp>
+
+//[example__output_char_tallies__definition
+template <typename Selector>
+void output_char_tallies(std::string const& str, Selector)
+{
+    typedef typename boost::mpl::apply_wrap2<
+                boost::associative_container_gen<Selector>
+              , char
+              , std::size_t
+            >::type
+            FrequencyTable;
+
+    FrequencyTable freq_table;
+    char reverse_counter = 0;
+
+    for (std::size_t i = 0; i < str.size(); ++i)
+    {
+        typename FrequencyTable::iterator ft_itr = freq_table.find(str[i]);
+
+        if (ft_itr == freq_table.end())
+        {
+            freq_table.insert(typename FrequencyTable::value_type(str[i], 1));
+        }
+        else
+        {
+            ++ft_itr->second;
+        }
+    }
+
+    for (
+        typename FrequencyTable::const_iterator ft_itr = freq_table.begin();
+        ft_itr != freq_table.end();
+        ++ft_itr
+    )
+    {
+        std::cout << ft_itr->first << ": " << ft_itr->second << std::endl;
+    }
+
+    std::cout << std::endl;
+}
+//]
+
+//[example__output_char_tallies__calls
+int main(int, char**)
+{
+    output_char_tallies("abacadabra", boost::hash_mapS());
+    output_char_tallies("loolapalooza", boost::multimapS());
+    return 0;
+}
+//]
+
Added: sandbox/utility-container_gen/libs/utility/container_gen/example/output_shape_stats.cpp
==============================================================================
--- (empty file)
+++ sandbox/utility-container_gen/libs/utility/container_gen/example/output_shape_stats.cpp	2012-01-31 03:50:33 EST (Tue, 31 Jan 2012)
@@ -0,0 +1,134 @@
+//=======================================================================
+// Copyright (C) 2011-2012 Cromwell D. Enage
+//
+// 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)
+//=======================================================================
+#include <iostream>
+#include <string>
+#include <cmath>
+#include <boost/math/constants/constants.hpp>
+#include <boost/range/numeric.hpp>
+#include <boost/utility/ptr_container_gen.hpp>
+
+//[example__output_shape_stats__type_definitions
+struct my_shape
+{
+    virtual ~my_shape()
+    {
+    }
+
+    virtual double compute_perimeter() const = 0;
+
+    virtual double compute_area() const = 0;
+};
+
+class your_square : public my_shape
+{
+    double length;
+
+ public:
+    explicit your_square(double s = 1.0) : length(s)
+    {
+    }
+
+    double compute_perimeter() const
+    {
+        return length * 4.0;
+    }
+
+    double compute_area() const
+    {
+        return length * length;
+    }
+};
+
+class your_circle : public my_shape
+{
+    double radius;
+
+ public:
+    explicit your_circle(double r = 1.0) : radius(r)
+    {
+    }
+
+    double compute_perimeter() const
+    {
+        return boost::math::constants::pi<double>() * radius * 2.0;
+    }
+
+    double compute_area() const
+    {
+        return boost::math::constants::pi<double>() * radius * radius;
+    }
+};
+
+class some_right_triangle : public my_shape
+{
+    double base;
+    double height;
+
+ public:
+    some_right_triangle(double b, double h) : base(b), height(h)
+    {
+    }
+
+    some_right_triangle() : base(1.0), height(1.0)
+    {
+    }
+
+    double compute_perimeter() const
+    {
+        using namespace std;
+        return sqrt(base * base + height * height) + base + height;
+    }
+
+    double compute_area() const
+    {
+        return boost::math::constants::half<double>() * base * height;
+    }
+};
+//]
+
+//[example__output_shape_stats__functions
+double add_perimeter(double value, my_shape const& shape)
+{
+    return shape.compute_perimeter() + value;
+}
+
+double add_area(double value, my_shape const& shape)
+{
+    return shape.compute_area() + value;
+}
+
+template <typename Shapes>
+void output_shape_stats(Shapes const& shapes)
+{
+    std::cout << "Total perimeter length = " << boost::accumulate(
+        shapes
+      , 0.0
+      , add_perimeter
+    ) << std::endl;
+    std::cout << "Total area = " << boost::accumulate(
+        shapes
+      , 0.0
+      , add_area
+    ) << std::endl;
+}
+//]
+
+//[example__output_shape_stats__usage
+int main(int, char**)
+{
+    boost::ptr_container_gen<boost::listS,my_shape>::type shapes;
+
+    shapes.push_back(new your_square());
+    shapes.push_back(new your_circle());
+    shapes.push_back(new some_right_triangle());
+
+    output_shape_stats(shapes);
+    return 0;
+}
+//]
+