[/==============================================================================
    Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
    Copyright (C) 2010 Christopher Schmidt

    Use, modification and distribution is subject to the Boost Software
    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[library Fusion
    [quickbook 1.3]
    [version 2.0]
    [authors [de Guzman, Joel], [Marsden, Dan], [Schwinger, Tobias]]
    [copyright 2001 2002 2003 2004 2005 2006 2007 Joel de Guzman, Dan Marsden, Tobias Schwinger]
    [purpose Statically Typed Heterogeneous Data Structures and Algorithms]
    [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])
    ]
]

[def __note__                   [$images/note.png]]
[def __alert__                  [$images/alert.png]]
[def __tip__                    [$images/tip.png]]
[def __caution__                [$images/caution.png]]

[def __spirit__                 [@http://spirit.sourceforge.net Spirit]]
[def __phoenix__                [@http://boost.org/libs/spirit/phoenix/index.html Phoenix]]
[def __mpl__                    [@http://www.boost.org/libs/mpl/index.html MPL]]
[def __stl__                    [@http://en.wikipedia.org/wiki/Standard_Template_Library STL]]
[def __tuple__                  [@http://www.boost.org/libs/tuple/doc/tuple_users_guide.html Boost.Tuple]]
[def __tr1__tuple__             [@http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1403.pdf TR1 Tuple]]
[def __boost_tools__            [@http://www.boost.org/tools/index.html Boost Tools]]
[def __spirit_list__            [@https://lists.sourceforge.net/lists/listinfo/spirit-general Spirit Mailing List]]
[def __spirit_general__         [@news://news.gmane.org/gmane.comp.spirit.general Spirit General NNTP news portal]]
[def __gmane__                  [@http://www.gmane.org Gmane]]
[def __mlist_archive__          [@http://news.gmane.org/gmane.comp.parsers.spirit.general]]
[def __jaakko_jarvi__           [@http://www.boost.org/people/jaakko_jarvi.htm Jaakko Jarvi]]
[def __david_abrahams__         [@http://www.boost.org/people/dave_abrahams.htm David Abrahams]]
[def __the_forwarding_problem__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm The Forwarding Problem]]

[def __boost_any__              [@http://boost.org/doc/html/any.html Boost.Any]]
[def __new_iterator_concepts__  [@http://boost.org/libs/iterator/doc/new-iter-concepts.html New Iterator Concepts]]
[def __boost_array_library__    [@http://www.boost.org/doc/html/array.html Boost.Array Library]]
[def __boost_variant_library__  [@http://www.boost.org/doc/html/variant.html Boost.Variant Library]]
[def __boost_tuple_library__    [@http://www.boost.org/libs/tuple/doc/tuple_users_guide.html Boost.Tuple Library]]
[def __boost_ref__              [@http://www.boost.org/doc/html/ref.html Boost.Ref]]
[def __boost_ref_call__         [@http://www.boost.org/doc/html/ref.html `ref`]]
[def __boost_result_of__        [@http://www.boost.org/libs/utility/utility.htm#result_of Boost.ResultOf]]
[def __boost_result_of_call__   [@http://www.boost.org/libs/utility/utility.htm#result_of `boost::result_of`]]
[def __boost_enable_if__        [@http://www.boost.org/libs/utility/enable_if.html Boost.EnableIf utility]]
[def __boost_shared_ptr_call__  [@http://www.boost.org/libs/smart_ptr/shared_ptr.htm `boost::shared_ptr`]]
[def __boost_func_forward__     [@http://www.boost.org/libs/functional/forward/doc/html/index.html Boost.Functional/Forward]]
[def __boost_func_factory__     [@http://www.boost.org/libs/functional/factory/doc/html/index.html Boost.Functional/Factory]]
[def __std_pair_doc__           [@http://www.sgi.com/tech/stl/pair.html `std::pair`]]
[def __std_plus_doc__           [@http://www.sgi.com/tech/stl/plus.html `std::plus`]]
[def __std_minus_doc__          [@http://www.sgi.com/tech/stl/minus.html `std::minus`]]

[def __mpl_integral_constant__  [@http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html MPL Integral Constant]]
[def __mpl_boolean_constant__   [@http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html MPL Boolean Constant]]
[def __mpl_metafunction_class__ [@http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html MPL Metafunction Class]]
[def __mpl_lambda_expression__  [@http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html MPL Lambda Expression]]

[def __lvalue__                 LValue]
[def __unspecified__            /unspecified/]

[def __support__                [link fusion.support Support]]
[def __is_sequence__            [link fusion.support.is_sequence `is_sequence`]]
[def __is_view__                [link fusion.support.is_view `is_view`]]
[def __tag_of__                 [link fusion.support.tag_of `tag_of`]]
[def __category_of__            [link fusion.support.category_of `category_of`]]
[def __deduce__                 [link fusion.support.deduce `deduce`]]
[def __deduce_sequence__        [link fusion.support.deduce_sequence `deduce_sequence`]]
[def __fusion_pair__            [link fusion.support.pair `fusion::pair`]]
[def __pair__                   [link fusion.support.pair `pair`]]
[def __fusion_make_pair__       [link fusion.support.pair `make_pair`]]

[def __iterator__               [link fusion.iterator Iterator]]
[def __iterator_concepts__      [link fusion.iterator.concepts Iterator Concepts]]
[def __forward_iterator__       [link fusion.iterator.concepts.forward_iterator Forward Iterator]]
[def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]]
[def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]]
[def __associative_iterator__   [link fusion.iterator.concepts.associative_iterator Associative Iterator]]

[def __next__                   [link fusion.iterator.functions.next `next`]]
[def __prior__                  [link fusion.iterator.functions.prior `prior`]]
[def __advance__                [link fusion.iterator.functions.advance `advance`]]
[def __advance_c__              [link fusion.iterator.functions.advance_c `advance_c`]]
[def __distance__               [link fusion.iterator.functions.distance `distance`]]
[def __deref__                  [link fusion.iterator.functions.deref `deref`]]
[def __deref_data__             [link fusion.iterator.functions.deref_data `deref_data`]]

[def __result_of_next__         [link fusion.iterator.metafunctions.next `result_of::next`]]
[def __result_of_prior__        [link fusion.iterator.metafunctions.prior `result_of::prior`]]
[def __result_of_equal_to__     [link fusion.iterator.metafunctions.equal_to `result_of::equal_to`]]
[def __result_of_advance__      [link fusion.iterator.metafunctions.advance `result_of::advance`]]
[def __result_of_advance_c__    [link fusion.iterator.metafunctions.advance_c `result_of::advance_c`]]
[def __result_of_distance__     [link fusion.iterator.metafunctions.distance `result_of::distance`]]
[def __result_of_deref__        [link fusion.iterator.metafunctions.deref `result_of::deref`]]
[def __result_of_value_of__     [link fusion.iterator.metafunctions.value_of `result_of::value_of`]]
[def __result_of_key_of__       [link fusion.iterator.metafunctions.key_of `result_of::key_of`]]
[def __result_of_value_of_data__ [link fusion.iterator.metafunctions.value_of_data `result_of::value_of_data`]]
[def __result_of_deref_data__   [link fusion.iterator.metafunctions.deref_data `result_of::deref_data`]]

[def __sequence__               [link fusion.sequence Sequence]]
[def __sequence_concepts__      [link fusion.sequence.concepts Sequence Concepts]]
[def __traversal_concept__      [link fusion.sequence.concepts.traversal Sequence Traversal Concept]]
[def __associativity_concept__  [link fusion.sequence.concepts.associativity Sequence Associativity Concept]]
[def __forward_sequence__       [link fusion.sequence.concepts.forward_sequence Forward Sequence]]
[def __bidirectional_sequence__ [link fusion.sequence.concepts.bidirectional_sequence Bidirectional Sequence]]
[def __random_access_sequence__ [link fusion.sequence.concepts.random_access_sequence Random Access Sequence]]
[def __associative_sequence__   [link fusion.sequence.concepts.associative_sequence Associative Sequence]]

[def __containers__             [link fusion.container Container]]
[def __vector__                 [link fusion.container.vector `vector`]]
[def __cons__                   [link fusion.container.cons `cons`]]
[def __list__                   [link fusion.container.list `list`]]
[def __set__                    [link fusion.container.set `set`]]
[def __map__                    [link fusion.container.map `map`]]

[def __view__                   [link fusion.view View]]
[def __views__                  [link fusion.view Views]]
[def __single_view__            [link fusion.view.single_view `single_view`]]
[def __filter_view__            [link fusion.view.filter_view `filter_view`]]
[def __iterator_range__         [link fusion.view.iterator_range `iterator_range`]]
[def __joint_view__             [link fusion.view.joint_view `joint_view`]]
[def __transform_view__         [link fusion.view.transform_view `transform_view`]]
[def __reverse_view__           [link fusion.view.reverse_view `reverse_view`]]
[def __zip_view__               [link fusion.view.zip_view `zip_view`]]

[def __array__                  [link fusion.adapted.array array]]
[def __std_pair__               [link fusion.adapted.std__pair `std::pair`]]
[def __boost_array__            [link fusion.adapted.boost__array `boost::array`]]
[def __mpl_sequence__           [link fusion.adapted.mpl_sequence mpl sequence]]
[def __adapt_tpl_struct__       [link fusion.adapted.adapt_tpl_struct `BOOST_FUSION_ADAPT_TPL_STRUCT`]]
[def __adapt_struct_named__     [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED`]]
[def __adapt_struct_named_ns__  [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED_NS`]]
[def __adapt_assoc_tpl_struct__ [link fusion.adapted.adapt_assoc_tpl_struct `BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT`]]
[def __adapt_assoc_struct_named__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED`]]
[def __adapt_assoc_struct_named_ns__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS`]]
[def __adapt_adt__              [link fusion.adapted.adapt_adt `BOOST_FUSION_ADAPT_ADT`]]
[def __adapt_tpl_adt__          [link fusion.adapted.adapt_tpl_adt `BOOST_FUSION_ADAPT_TPL_ADT`]]
[def __adapt_assoc_adt__        [link fusion.adapted.adapt_assoc_adt `BOOST_FUSION_ADAPT_ASSOC_ADT`]]
[def __adapt_assoc_tpl_adt__    [link fusion.adapted.adapt_assoc_tpl_adt `BOOST_FUSION_ADAPT_ASSOC_TPL_ADT`]]
[def __define_struct__          [link fusion.adapted.define_struct `BOOST_FUSION_DEFINE_STRUCT`]]
[def __define_tpl_struct__      [link fusion.adapted.define_tpl_struct `BOOST_FUSION_DEFINE_TPL_STRUCT`]]
[def __define_assoc_struct__    [link fusion.adapted.define_assoc_struct `BOOST_FUSION_DEFINE_ASSOC_STRUCT`]]
[def __define_assoc_tpl_struct__ [link fusion.adapted.define_assoc_tpl_struct `BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT`]]

[def __intrinsic__              [link fusion.sequence.intrinsic Intrinsic]]
[def __intrinsics__             [link fusion.sequence.intrinsic Intrinsics]]
[def __begin__                  [link fusion.sequence.intrinsic.functions.begin `begin`]]
[def __result_of_begin__        [link fusion.sequence.intrinsic.metafunctions.begin `result_of::begin`]]
[def __end__                    [link fusion.sequence.intrinsic.functions.end `end`]]
[def __result_of_end__          [link fusion.sequence.intrinsic.metafunctions.end `result_of::end`]]
[def __size__                   [link fusion.sequence.intrinsic.functions.size `size`]]
[def __result_of_size__         [link fusion.sequence.intrinsic.metafunctions.size `result_of::size`]]
[def __empty__                  [link fusion.sequence.intrinsic.functions.empty `empty`]]
[def __result_of_empty__        [link fusion.sequence.intrinsic.metafunctions.empty `result_of::empty`]]
[def __front__                  [link fusion.sequence.intrinsic.functions.front `front`]]
[def __result_of_front__        [link fusion.sequence.intrinsic.metafunctions.front `result_of::front`]]
[def __back__                   [link fusion.sequence.intrinsic.functions.back `back`]]
[def __result_of_back__         [link fusion.sequence.intrinsic.metafunctions.back `result_of::back`]]
[def __at__                     [link fusion.sequence.intrinsic.functions.at `at`]]
[def __result_of_at__           [link fusion.sequence.intrinsic.metafunctions.at `result_of::at`]]
[def __at_c__                   [link fusion.sequence.intrinsic.functions.at_c `at_c`]]
[def __result_of_at_c__         [link fusion.sequence.intrinsic.metafunctions.at_c `result_of::at_c`]]
[def __at_key__                 [link fusion.sequence.intrinsic.functions.at_key `at_key`]]
[def __result_of_at_key__       [link fusion.sequence.intrinsic.metafunctions.at_key `result_of::at_key`]]
[def __has_key__                [link fusion.sequence.intrinsic.functions.has_key `has_key`]]
[def __result_of_has_key__      [link fusion.sequence.intrinsic.metafunctions.has_key `result_of::has_key`]]
[def __result_of_value_at__     [link fusion.sequence.intrinsic.metafunctions.value_at `result_of::value_at`]]
[def __result_of_value_at_c__   [link fusion.sequence.intrinsic.metafunctions.value_at_c `result_of::value_at_c`]]
[def __result_of_value_at_key__ [link fusion.sequence.intrinsic.metafunctions.value_at_key `result_of::value_at_key`]]

[def __conversion__             [link fusion.container.conversion.functions Conversion]]
[def __result_of_conversion__   [link fusion.container.conversion.metafunctions Conversion Metafunctions]]
[def __as_vector__              [link fusion.container.conversion.functions.as_vector `as_vector`]]
[def __result_of_as_vector__    [link fusion.container.conversion.metafunctions.as_vector `result_of::as_vector`]]
[def __as_list__                [link fusion.container.conversion.functions.as_list `as_list`]]
[def __result_of_as_list__      [link fusion.container.conversion.metafunctions.as_list `result_of::as_list`]]
[def __as_set__                 [link fusion.container.conversion.functions.as_set `as_set`]]
[def __result_of_as_set__       [link fusion.container.conversion.metafunctions.as_set `result_of::as_set`]]
[def __as_map__                 [link fusion.container.conversion.functions.as_map `as_map`]]
[def __result_of_as_map__       [link fusion.container.conversion.metafunctions.as_map `result_of::as_map`]]

[def __generation__             [link fusion.container.generation.functions Generation]]
[def __result_of_generation__   [link fusion.container.generation.metafunctions Generation Metafunctions]]
[def __make_vector__            [link fusion.container.generation.functions.make_vector `make_vector`]]
[def __result_of_make_vector__  [link fusion.container.generation.metafunctions.make_vector `result_of::make_vector`]]
[def __vector_tie__             [link fusion.container.generation.functions.vector_tie `vector_tie`]]
[def __map_tie__                [link fusion.container.generation.functions.vector_tie `map_tie`]]
[def __result_of_vector_tie__   [link fusion.container.generation.metafunctions.vector_tie `result_of::vector_tie`]]
[def __make_vector__            [link fusion.container.generation.functions.make_vector `make_vector`]]
[def __result_of_make_vector__  [link fusion.container.generation.metafunctions.make_vector `result_of::make_vector`]]
[def __make_cons__              [link fusion.container.generation.functions.make_cons `make_cons`]]
[def __result_of_make_cons__    [link fusion.container.generation.metafunctions.make_cons `result_of::make_cons`]]
[def __make_list__              [link fusion.container.generation.functions.make_list `make_list`]]
[def __result_of_make_list__    [link fusion.container.generation.metafunctions.make_list `result_of::make_list`]]
[def __make_set__               [link fusion.container.generation.functions.make_set `make_set`]]
[def __result_of_make_set__     [link fusion.container.generation.metafunctions.make_set `result_of::make_set`]]
[def __make_map__               [link fusion.container.generation.functions.make_map `make_map`]]
[def __result_of_make_map__     [link fusion.container.generation.metafunctions.make_map `result_of::make_map`]]
[def __list_tie__               [link fusion.container.generation.functions.list_tie `list_tie`]]
[def __result_of_list_tie__     [link fusion.container.generation.metafunctions.list_tie `result_of::list_tie`]]

[def __out__                    [link fusion.sequence.operator.i_o.out out]]
[def __in__                     [link fusion.sequence.operator.i_o.in in]]
[def __eq__                     [link fusion.sequence.operator.comparison.equal equal]]
[def __neq__                    [link fusion.sequence.operator.comparison.not_equal not equal]]
[def __lt__                     [link fusion.sequence.operator.comparison.less_than less than]]
[def __lte__                    [link fusion.sequence.operator.comparison.less_than_equal less than equal]]
[def __gt__                     [link fusion.sequence.operator.comparison.greater_than greater than]]
[def __gte__                    [link fusion.sequence.operator.comparison.greater_than_equal greater than equal]]

[def __algorithm__              [link fusion.algorithm Algorithm]]
[def __algorithms__             [link fusion.algorithm Algorithms]]
[def __fold__                   [link fusion.algorithm.iteration.functions.fold `fold`]]
[def __result_of_fold__         [link fusion.algorithm.iteration.metafunctions.fold `result_of::fold`]]
[def __reverse_fold__           [link fusion.algorithm.iteration.functions.reverse_fold `reverse_fold`]]
[def __result_of_reverse_fold__ [link fusion.algorithm.iteration.metafunctions.reverse_fold `result_of::reverse_fold`]]
[def __iter_fold__              [link fusion.algorithm.iteration.functions.iter_fold `iter_fold`]]
[def __result_of_iter_fold__    [link fusion.algorithm.iteration.metafunctions.iter_fold `result_of::iter_fold`]]
[def __reverse_iter_fold__      [link fusion.algorithm.iteration.functions.reverse_iter_fold `reverse_iter_fold`]]
[def __result_of_reverse_iter_fold__ [link fusion.algorithm.iteration.metafunctions.reverse_iter_fold `result_of::reverse_iter_fold`]]
[def __accumulate__             [link fusion.algorithm.iteration.functions.accumulate `accumulate`]]
[def __result_of_accumulate__   [link fusion.algorithm.iteration.metafunctions.accumulate `result_of::accumulate`]]
[def __for_each__               [link fusion.algorithm.iteration.functions.for_each `for_each`]]
[def __result_of_for_each__     [link fusion.algorithm.iteration.metafunctions.for_each `result_of::for_each`]]
[def __any__                    [link fusion.algorithm.query.functions.any `any`]]
[def __result_of_any__          [link fusion.algorithm.query.metafunctions.any `result_of::any`]]
[def __all__                    [link fusion.algorithm.query.functions.all `all`]]
[def __result_of_all__          [link fusion.algorithm.query.metafunctions.all `result_of::all`]]
[def __none__                   [link fusion.algorithm.query.functions.none `none`]]
[def __result_of_none__         [link fusion.algorithm.query.metafunctions.none `result_of::none`]]
[def __find__                   [link fusion.algorithm.query.functions.find `find`]]
[def __result_of_find__         [link fusion.algorithm.query.metafunctions.find `result_of::find`]]
[def __find_if__                [link fusion.algorithm.query.functions.find_if `find_if`]]
[def __result_of_find_if__      [link fusion.algorithm.query.metafunctions.find_if `result_of::find_if`]]
[def __count__                  [link fusion.algorithm.query.functions.count `count`]]
[def __result_of_count__        [link fusion.algorithm.query.metafunctions.count `result_of::count`]]
[def __count_if__               [link fusion.algorithm.query.functions.count_if `count_if`]]
[def __result_of_count_if__     [link fusion.algorithm.query.metafunctions.count_if `result_of::count_if`]]
[def __filter__                 [link fusion.algorithm.transformation.functions.filter `filter`]]
[def __result_of_filter__       [link fusion.algorithm.transformation.metafunctions.filter `result_of::filter`]]
[def __filter_if__              [link fusion.algorithm.transformation.functions.filter_if `filter_if`]]
[def __result_of_filter_if__    [link fusion.algorithm.transformation.metafunctions.filter_if `result_of::filter_if`]]
[def __transform__              [link fusion.algorithm.transformation.functions.transform `transform`]]
[def __result_of_transform__    [link fusion.algorithm.transformation.metafunctions.transform `result_of::transform`]]
[def __replace__                [link fusion.algorithm.transformation.functions.replace `replace`]]
[def __result_of_replace__      [link fusion.algorithm.transformation.metafunctions.replace `result_of::replace`]]
[def __replace_if__             [link fusion.algorithm.transformation.functions.replace_if `replace_if`]]
[def __result_of_replace_if__   [link fusion.algorithm.transformation.metafunctions.replace_if `result_of::replace_if`]]
[def __remove__                 [link fusion.algorithm.transformation.functions.remove `remove`]]
[def __result_of_remove__       [link fusion.algorithm.transformation.metafunctions.remove `result_of::remove`]]
[def __remove_if__              [link fusion.algorithm.transformation.functions.remove_if `remove_if`]]
[def __result_of_remove_if__    [link fusion.algorithm.transformation.metafunctions.remove_if `result_of::remove_if`]]
[def __reverse__                [link fusion.algorithm.transformation.functions.reverse `reverse`]]
[def __result_of_reverse__      [link fusion.algorithm.transformation.metafunctions.reverse `result_of::reverse`]]
[def __clear__                  [link fusion.algorithm.transformation.functions.clear `clear`]]
[def __result_of_clear__        [link fusion.algorithm.transformation.metafunctions.clear `result_of::clear`]]
[def __erase__                  [link fusion.algorithm.transformation.functions.erase `erase`]]
[def __result_of_erase__        [link fusion.algorithm.transformation.metafunctions.erase `result_of::erase`]]
[def __erase_key__              [link fusion.algorithm.transformation.functions.erase_key `erase_key`]]
[def __result_of_erase_key__    [link fusion.algorithm.transformation.metafunctions.erase_key `result_of::erase_key`]]
[def __insert__                 [link fusion.algorithm.transformation.functions.insert `insert`]]
[def __result_of_insert__       [link fusion.algorithm.transformation.metafunctions.insert `result_of::insert`]]
[def __insert_range__           [link fusion.algorithm.transformation.functions.insert_range `insert_range`]]
[def __result_of_insert_range__ [link fusion.algorithm.transformation.metafunctions.insert_range `result_of::insert_range`]]
[def __join__                   [link fusion.algorithm.transformation.functions.join `join`]]
[def __result_of_join__         [link fusion.algorithm.transformation.metafunctions.join `result_of::join`]]
[def __zip__                    [link fusion.algorithm.transformation.functions.zip `zip`]]
[def __result_of_zip__          [link fusion.algorithm.transformation.metafunctions.zip `result_of::zip`]]
[def __pop_back__               [link fusion.algorithm.transformation.functions.pop_back `pop_back`]]
[def __result_of_pop_back__     [link fusion.algorithm.transformation.metafunctions.pop_back `result_of::pop_back`]]
[def __pop_front__              [link fusion.algorithm.transformation.functions.pop_front `pop_front`]]
[def __result_of_pop_front__    [link fusion.algorithm.transformation.metafunctions.pop_front `result_of::pop_front`]]
[def __push_back__              [link fusion.algorithm.transformation.functions.push_back `push_back`]]
[def __result_of_push_back__    [link fusion.algorithm.transformation.metafunctions.push_back `result_of::push_back`]]
[def __push_front__             [link fusion.algorithm.transformation.functions.push_front `push_front`]]
[def __result_of_push_front__   [link fusion.algorithm.transformation.metafunctions.push_front `result_of::push_front`]]

[def __tr1_tuple_pair__         [link fusion.tuple.pairs `TR1 and std::pair`]]
[def __tuple_get__              [link fusion.tuple.class_template_tuple.element_access `get`]]

[def __callable_obj__           [link fusion.functional.concepts.callable Callable Object]]
[def __def_callable_obj__       [link fusion.functional.concepts.def_callable Deferred Callable Object]]
[def __reg_callable_obj__       [link fusion.functional.concepts.reg_callable Regular Callable Object]]
[def __poly_func_obj__          [link fusion.functional.concepts.poly Polymorphic Function Object]]
[def __functional_adapters__    [link fusion.functional.adapters functional adapters]]
[def __fused__                  [link fusion.functional.adapters.fused `fused`]]
[def __fused_procedure__        [link fusion.functional.adapters.fused_procedure `fused_procedure`]]
[def __fused_function_object__  [link fusion.functional.adapters.fused_function_object `fused_function_object`]]
[def __unfused__                [link fusion.functional.adapters.unfused `unfused`]]
[def __unfused_typed__          [link fusion.functional.adapters.unfused_typed `unfused_typed`]]
[def __invoke__                 [link fusion.functional.invocation.functions.invoke `invoke`]]
[def __invoke_procedure__       [link fusion.functional.invocation.functions.invoke_proc `invoke_procedure`]]
[def __invoke_function_object__ [link fusion.functional.invocation.functions.invoke_fobj `invoke_function_object`]]
[def __make_fused__                 [link fusion.functional.generation.functions.mk_fused `make_fused`]]
[def __make_fused_procedure__       [link fusion.functional.generation.functions.mk_fused_proc `make_fused_procedure`]]
[def __make_fused_function_object__ [link fusion.functional.generation.functions.mk_fused_fobj `make_fused_function_object`]]
[def __make_unfused__               [link fusion.functional.generation.functions.mk_unfused `make_unfused`]]
[def __result_of_invoke__                     [link fusion.functional.invocation.metafunctions.invoke `result_of::invoke`]]
[def __result_of_invoke_procedure__           [link fusion.functional.invocation.metafunctions.invoke_proc `result_of::invoke_procedure`]]
[def __result_of_invoke_function_object__     [link fusion.functional.invocation.metafunctions.invoke_fobj `result_of::invoke_function_object`]]
[def __result_of_make_fused__                 [link fusion.functional.generation.metafunctions.mk_fused `make_fused`]]
[def __result_of_make_fused_procedure__       [link fusion.functional.generation.metafunctions.mk_fused_proc `make_fused_procedure`]]
[def __result_of_make_fused_function_object__ [link fusion.functional.generation.metafunctions.mk_fused_fobj `make_fused_function_object`]]
[def __result_of_make_unfused__       [link fusion.functional.generation.metafunctions.mk_unfused `make_unfused`]]

[def __recursive_inline__       [link fusion.notes.recursive_inlined_functions Recursive Inlined Functions]]
[def __overloaded_functions__   [link fusion.notes.overloaded_functions Overloaded Functions]]
[def __tag_dispatching__        [link fusion.notes.tag_dispatching /tag dispatching/]]
[def __element_conversion__     [link fusion.notes.element_conversion /element conversion/]]
[def __see_element_conversion__ [link fusion.notes.element_conversion /see element conversion/]]
[def __note_boost_ref__         [link fusion.notes.boost__ref `boost::ref`]]

[def __quick_start__            [link fusion.quick_start Quick Start]]
[def __organization__           [link fusion.organization Organization]]
[def __extension__              [link fusion.extension Extension]]
[def __sequence_facade__        [link fusion.extension.sequence_facade `sequence_facade`]]
[def __iterator_facade__        [link fusion.extension.iterator_facade `iterator_facade`]]

[def __adt_attribute_proxy__    [link fusion.notes.adt_attribute_proxy `adt_attribute_proxy`]]

[include preface.qbk]
[include introduction.qbk]
[include quick_start.qbk]
[include organization.qbk]
[include support.qbk]
[include iterator.qbk]
[include sequence.qbk]
[include container.qbk]
[include view.qbk]
[include adapted.qbk]
[include algorithm.qbk]
[include tuple.qbk]
[include extension.qbk]
[include functional.qbk]
[include notes.qbk]
[include changelog.qbk]
[include acknowledgements.qbk]
[include references.qbk]

